# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
108664 | 2019-04-30T15:40:27 Z | PeppaPig | Garage (IOI09_garage) | C++14 | 4 ms | 512 KB |
#include <bits/stdc++.h> #define long long long using namespace std; const int N = 2e3+5; int n, m, pos[N]; long r[N], w[N]; queue<int> Q; priority_queue<int, vector<int>, greater<int> > PQ; int main() { scanf("%d %d", &n, &m); for(int i = 1; i <= n; i++) scanf("%lld", r+i), PQ.emplace(i); for(int i = 1; i <= m; i++) scanf("%lld", w+i); long ans = 0; for(int i = 1, a; i <= 2 * m; i++) { scanf("%d", &a); if(a > 0) Q.emplace(a); else { int garage = pos[-a]; PQ.emplace(garage); } while(!Q.empty() && !PQ.empty()) { int now = Q.front(); Q.pop(); int garage = PQ.top(); PQ.pop(); pos[now] = garage; ans += r[garage] * w[now]; } } printf("%lld\n", ans); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 512 KB | Output is correct |
2 | Correct | 2 ms | 384 KB | Output is correct |
3 | Correct | 2 ms | 256 KB | Output is correct |
4 | Correct | 2 ms | 384 KB | Output is correct |
5 | Correct | 2 ms | 384 KB | Output is correct |
6 | Correct | 3 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 384 KB | Output is correct |
8 | Correct | 2 ms | 384 KB | Output is correct |
9 | Correct | 3 ms | 384 KB | Output is correct |
10 | Correct | 3 ms | 384 KB | Output is correct |
11 | Correct | 3 ms | 384 KB | Output is correct |
12 | Correct | 3 ms | 384 KB | Output is correct |
13 | Correct | 2 ms | 384 KB | Output is correct |
14 | Correct | 2 ms | 384 KB | Output is correct |
15 | Correct | 4 ms | 384 KB | Output is correct |
16 | Correct | 4 ms | 384 KB | Output is correct |
17 | Correct | 3 ms | 384 KB | Output is correct |
18 | Correct | 3 ms | 384 KB | Output is correct |
19 | Correct | 3 ms | 384 KB | Output is correct |
20 | Correct | 4 ms | 384 KB | Output is correct |