Submission #1188729

#TimeUsernameProblemLanguageResultExecution timeMemory
1188729petezaGarage (IOI09_garage)C++20
100 / 100
1 ms328 KiB
#include <bits/stdc++.h> using namespace std; int n, m, x; int rt[105]; int cw[2005]; int oc[105]; queue<int> q; int money=0; int main() { cin >> n >> m; for(int i=1;i<=n;i++) cin >> rt[i]; for(int i=1;i<=m;i++) cin >> cw[i]; memset(oc, -1, sizeof oc); for(int i=1;i<=2*m;i++) { cin >> x; if(x<0) { x=-x; int idx=1; for(;oc[idx]!=x;idx++); oc[idx] = -1; if(!q.empty()) { money += cw[q.front()] * rt[idx]; oc[idx] = q.front(); q.pop(); } } else { int idx = 1; for(;oc[idx]!=-1&&idx<=n;idx++); if(idx <= n) { money += cw[x]*rt[idx]; oc[idx] = x; } else q.push(x); } //cout << money << '\n'; } cout << money; }
#Verdict Execution timeMemoryGrader output
Fetching results...