Submission #371290

#TimeUsernameProblemLanguageResultExecution timeMemory
371290NachoLibreGarage (IOI09_garage)C++17
75 / 100
1 ms512 KiB
#include <bits/stdc++.h> using namespace std; int n, m, a[102], b[1003], c[1003], fp; queue<int> q; bool d[102]; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i = 1; i <= n; ++i) { cin >> a[i]; } for(int i = 1; i <= m; ++i) { cin >> b[i]; } for(int mi = 1; mi <= 2 * m; ++mi) { int x; cin >> x; if(x < 0) { x = -x; d[c[x]] = 0; if(q.size()) { c[q.front()] = c[x]; d[c[q.front()]] = 1; fp += a[c[q.front()]] * b[q.front()]; q.pop(); } } else { for(int i = 1; i <= n; ++i) { if(!d[i]) { c[x] = i; d[c[x]] = 1; fp += a[c[x]] * b[x]; break; } } if(!c[x]) { q.push(x); } } } cout << fp << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...