# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
966632 | 2024-04-20T07:16:35 Z | vjudge1 | Trading (IZhO13_trading) | C++17 | 133 ms | 14040 KB |
#include <iostream> #include <queue> #include <algorithm> using namespace std; using pii = pair<int, int>; const int N = 3e5+2; priority_queue<pii> pq; struct line{ int l, r, v, w; bool operator < (const line &o) const { if (l != o.l) return l < o.l; return r < o.r; } }a[N]; int main() { int n, m; scanf("%d %d", &n, &m); for (int i = 1;i <= m;i++){ int l, r, v; scanf("%d %d %d", &l, &r, &v); a[i] = {l, r, v, v-l}; } sort(a+1, a+m+1); int j = 1; for (int i = 1;i <= n;i++){ while (a[j].l == i) pq.push({a[j].w, a[j].r}), j++; while (!pq.empty() && pq.top().second < i) pq.pop(); if (pq.empty()) printf("0 "); else printf("%d ", pq.top().first+i); } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 1 ms | 344 KB | Output is correct |
5 | Correct | 1 ms | 348 KB | Output is correct |
6 | Correct | 1 ms | 604 KB | Output is correct |
7 | Correct | 67 ms | 7920 KB | Output is correct |
8 | Correct | 76 ms | 8000 KB | Output is correct |
9 | Correct | 90 ms | 10040 KB | Output is correct |
10 | Correct | 81 ms | 10736 KB | Output is correct |
11 | Correct | 90 ms | 10548 KB | Output is correct |
12 | Correct | 93 ms | 11448 KB | Output is correct |
13 | Correct | 98 ms | 10776 KB | Output is correct |
14 | Correct | 96 ms | 10952 KB | Output is correct |
15 | Correct | 111 ms | 12400 KB | Output is correct |
16 | Correct | 113 ms | 11460 KB | Output is correct |
17 | Correct | 118 ms | 11784 KB | Output is correct |
18 | Correct | 119 ms | 12600 KB | Output is correct |
19 | Correct | 117 ms | 12748 KB | Output is correct |
20 | Correct | 133 ms | 14040 KB | Output is correct |