Submission #534569

#TimeUsernameProblemLanguageResultExecution timeMemory
534569andecaandeciGarage (IOI09_garage)C++17
100 / 100
2 ms332 KiB
#include <bits/stdc++.h> using namespace std; int main(){ cin.tie(0) -> ios_base::sync_with_stdio(0); int n, m; cin >> n >> m; vector<int> r(n + 1), w(m + 1); for(int i=1;i<=n;i++) cin >> r[i]; for(int i=1;i<=m;i++) cin >> w[i]; priority_queue<int, vector<int>, greater<int>> pq; for(int i=1;i<=n;i++) pq.push(i); queue<int> q; vector<int> loc(m + 1); // where car i is parked long long ans = 0; for(int i=1;i<=2*m;i++) { int x; cin >> x; if(x < 0) { pq.push(loc[-x]); } else { q.push(x); } while(!pq.empty() && !q.empty()){ int cur = q.front(); q.pop(); int p = pq.top(); pq.pop(); loc[cur] = p; ans += (long long)r[p] * w[cur]; } } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...