Submission #1316411

#TimeUsernameProblemLanguageResultExecution timeMemory
1316411boclobanchatGarage (IOI09_garage)C++20
40 / 100
2 ms336 KiB
#include<bits/stdc++.h> using namespace std; set<int> st; queue<int> Q; long long A[9999],W[9999],pos[9999]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,m; cin>>n>>m; for(int i=1;i<=n;i++) { cin>>A[i]; st.insert(i); } long long ans=0; for(int i=1;i<=m;i++) cin>>W[i]; for(int i=1;i<=m*2;i++) { int res; cin>>res; if(res>0) { if(st.empty()) Q.push(res); else ans+=A[pos[res]=*st.begin()]*W[res],st.erase(st.begin()); } else { st.insert(pos[-res]); if(!Q.empty()) ans+=A[*st.begin()]*W[Q.front()],Q.pop(),st.erase(st.begin()); } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...