Submission #440321

#TimeUsernameProblemLanguageResultExecution timeMemory
440321dxz05Garage (IOI09_garage)C++14
100 / 100
3 ms332 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 2022; int s[MAXN], w[MAXN]; int garage[MAXN]; int main(){ int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) cin >> s[i]; for (int i = 1; i <= m; i++) cin >> w[i]; long long ans = 0; queue<int> q; for (int i = 1; i <= 2 * m; i++){ int x; cin >> x; if (x > 0){ q.push(x); for (int i = 1; i <= n; i++){ if (garage[i] == 0){ garage[i] = x; ans += w[x] * s[i]; q.pop(); break; } } } else { x = -x; for (int i = 1; i <= n; i++){ if (garage[i] == x){ if (!q.empty()) { garage[i] = q.front(); ans += w[q.front()] * s[i]; q.pop(); } else garage[i] = 0; break; } } } } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...