Submission #534065

#TimeUsernameProblemLanguageResultExecution timeMemory
534065devariaotaGarage (IOI09_garage)C++17
100 / 100
2 ms332 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 102; const int M = 2002; bool vis[N]; int pos[M]; int main(){ int n, m; cin >> n >> m; ll r[n + 1], w[m + 1]; ll ans = 0; for(int i = 1; i <= n; i++) cin >> r[i]; for(int i = 1; i <= m; i++) cin >> w[i]; queue<int>q; for(int i = 0; i < 2*m; i++){ int x; cin >> x; if(x > 0) q.push(x); else if(x < 0) vis[pos[-x]] = false; if(!q.empty()){ int now = q.front(); for(int j = 1; j <= n; j++){ if(!vis[j]){ pos[now] = j; ans += r[j]*w[now]; vis[j] = true; q.pop(); break; } } } } cout << ans << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...