Submission #940333

#TimeUsernameProblemLanguageResultExecution timeMemory
940333HappyCapybaraGarage (IOI09_garage)C++17
40 / 100
3 ms600 KiB
#include<bits/stdc++.h> using namespace std; int main(){ int n, m; cin >> n >> m; vector<int> r(n); for (int i=0; i<n; i++) cin >> r[i]; vector<int> w(m); for (int i=0; i<m; i++) cin >> w[i]; vector<bool> t(n, false); vector<int> s(m); int res = 0; queue<int> q; for (int i=0; i<2*m; i++){ int x; cin >> x; if (x < 0){ x++; t[s[-x]] = false; if (!q.empty()){ t[s[-x]] = true; s[q.front()] = s[-x]; res += r[s[-x]] * w[q.front()]; q.pop(); } continue; } x--; int j = 0; while (t[j] && j<n) j++; if (j == n){ q.push(j); continue; } t[j] = true; s[x] = j; res += r[j] * w[x]; } cout << res << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...