Submission #1080758

#TimeUsernameProblemLanguageResultExecution timeMemory
1080758juicyGarage (IOI09_garage)C++17
5 / 100
2 ms856 KiB
#include <bits/stdc++.h> using namespace std; #ifdef LOCAL #include "debug.h" #else #define debug(...) 42 #endif int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vector<int> a(n), b(m); for (int i = 0; i < n; ++i) { cin >> a[i]; } for (int i = 0; i < m; ++i) { cin >> b[i]; } priority_queue<int> pq; for (int i = 0; i < n; ++i) { pq.push(-i); } vector<int> vis(n), pos(n); queue<int> q; int res = 0; for (int i = 0; i < 2 * m; ++i) { int x; cin >> x; if (x > 0) { q.push(x - 1); } else { int p = pos[-1 - x]; vis[p] ^= 1; pq.push(-p); } while (q.size()) { while (pq.size() && vis[-pq.top()]) { pq.pop(); } if (!pq.size()) { break; } int u = q.front(); q.pop(); int j = -pq.top(); pq.pop(); res += a[j] * b[u]; pos[u] = j; vis[j] ^= 1; } } cout << res; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...