# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
875837 | 2023-11-20T15:22:21 Z | abczz | Carnival Tickets (IOI20_tickets) | C++14 | 629 ms | 141072 KB |
#include "tickets.h" #include <iostream> #include <vector> #include <array> #include <queue> #include <algorithm> #define ll long long using namespace std; long long find_maximum(int k, std::vector<std::vector<int>> x) { priority_queue<array<ll, 3>> pq; vector <array<ll, 3>> X[1500][2]; vector <array<ll, 3>> tmp; ll n = x.size(), m = x[0].size(), f = 0, z, cnt[1500]; vector <vector<int>> V(n); for (int i=0; i<n; ++i) { cnt[i] = 0; V[i].resize(m); for (int j=0; j<m; ++j) V[i][j] = 0; for (int j=0; j<k; ++j) { f -= x[i][j]; V[i][j] = -1; } pq.push({x[i][k-1]+x[i][m-1], i, k-1}); } for (int t=0; t<n*k/2; ++t) { auto [w, u, v] = pq.top(); pq.pop(); f += w; V[u][v] = 0; V[u][m-1-(k-1-v)] = 1; if (v) { --v; pq.push({x[u][v]+x[u][m-1-(k-1-v)], u, v}); } } for (int i=0; i<n; ++i) { z = 0; for (int j=0; j<m; ++j) { if (!V[i][j]) V[i][j] = -1; else if (V[i][j] == -1) { --cnt[z]; X[i][0].push_back({i, j, z++}); } else { ++cnt[z]; X[i][1].push_back({i, j, z++}); } V[i][j] = -1; } } for (int i=0; i<n; ++i) { int a = 0, b = 0; while (a < X[i][0].size() && b < X[i][1].size()) { if (a < X[i][0].size()) { if (cnt[X[i][0][a][2]] >= 0) { ++a; continue; } } if (b < X[i][1].size()) { if (cnt[X[i][1][b][2]] <= 0) { ++b; continue; } } cnt[X[i][0][a][2]] += 2; cnt[X[i][1][b][2]] -= 2; swap(X[i][0][a][2], X[i][1][b][2]); ++a, ++b; } for (int j=0; j<2; ++j) { for (auto [y, x, v] : X[i][j]) { V[y][x] = v; } } } allocate_tickets(V); return f; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 344 KB | Output is correct |
3 | Correct | 0 ms | 344 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 604 KB | Output is correct |
6 | Correct | 2 ms | 860 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 1 ms | 604 KB | Output is correct |
5 | Correct | 16 ms | 2392 KB | Output is correct |
6 | Correct | 412 ms | 51660 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 2 ms | 604 KB | Output is correct |
5 | Correct | 17 ms | 4412 KB | Output is correct |
6 | Correct | 423 ms | 89556 KB | Output is correct |
7 | Correct | 437 ms | 102152 KB | Output is correct |
8 | Correct | 3 ms | 860 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 432 KB | Output is correct |
11 | Correct | 0 ms | 344 KB | Output is correct |
12 | Correct | 5 ms | 1628 KB | Output is correct |
13 | Correct | 15 ms | 4176 KB | Output is correct |
14 | Correct | 15 ms | 4444 KB | Output is correct |
15 | Correct | 449 ms | 106240 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 2 ms | 860 KB | Output is correct |
5 | Correct | 23 ms | 7100 KB | Output is correct |
6 | Correct | 4 ms | 1372 KB | Output is correct |
7 | Correct | 5 ms | 1696 KB | Output is correct |
8 | Correct | 598 ms | 140848 KB | Output is correct |
9 | Correct | 582 ms | 132944 KB | Output is correct |
10 | Correct | 552 ms | 130620 KB | Output is correct |
11 | Correct | 625 ms | 139744 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 2 ms | 600 KB | Output is correct |
3 | Correct | 2 ms | 604 KB | Output is correct |
4 | Correct | 2 ms | 604 KB | Output is correct |
5 | Correct | 2 ms | 604 KB | Output is correct |
6 | Correct | 2 ms | 856 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Correct | 1 ms | 348 KB | Output is correct |
9 | Correct | 2 ms | 604 KB | Output is correct |
10 | Correct | 2 ms | 860 KB | Output is correct |
11 | Correct | 2 ms | 860 KB | Output is correct |
12 | Correct | 2 ms | 860 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 2 ms | 600 KB | Output is correct |
3 | Correct | 2 ms | 604 KB | Output is correct |
4 | Correct | 2 ms | 604 KB | Output is correct |
5 | Correct | 2 ms | 604 KB | Output is correct |
6 | Correct | 2 ms | 856 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Correct | 1 ms | 348 KB | Output is correct |
9 | Correct | 2 ms | 604 KB | Output is correct |
10 | Correct | 2 ms | 860 KB | Output is correct |
11 | Correct | 2 ms | 860 KB | Output is correct |
12 | Correct | 2 ms | 860 KB | Output is correct |
13 | Correct | 21 ms | 3420 KB | Output is correct |
14 | Correct | 17 ms | 3420 KB | Output is correct |
15 | Correct | 20 ms | 5212 KB | Output is correct |
16 | Correct | 22 ms | 7000 KB | Output is correct |
17 | Correct | 1 ms | 608 KB | Output is correct |
18 | Correct | 2 ms | 604 KB | Output is correct |
19 | Correct | 1 ms | 604 KB | Output is correct |
20 | Correct | 19 ms | 4844 KB | Output is correct |
21 | Correct | 22 ms | 4952 KB | Output is correct |
22 | Correct | 23 ms | 5500 KB | Output is correct |
23 | Correct | 21 ms | 5976 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 344 KB | Output is correct |
3 | Correct | 0 ms | 344 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 604 KB | Output is correct |
6 | Correct | 2 ms | 860 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 1 ms | 604 KB | Output is correct |
11 | Correct | 16 ms | 2392 KB | Output is correct |
12 | Correct | 412 ms | 51660 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |
14 | Correct | 1 ms | 348 KB | Output is correct |
15 | Correct | 0 ms | 348 KB | Output is correct |
16 | Correct | 2 ms | 604 KB | Output is correct |
17 | Correct | 17 ms | 4412 KB | Output is correct |
18 | Correct | 423 ms | 89556 KB | Output is correct |
19 | Correct | 437 ms | 102152 KB | Output is correct |
20 | Correct | 3 ms | 860 KB | Output is correct |
21 | Correct | 0 ms | 348 KB | Output is correct |
22 | Correct | 0 ms | 432 KB | Output is correct |
23 | Correct | 0 ms | 344 KB | Output is correct |
24 | Correct | 5 ms | 1628 KB | Output is correct |
25 | Correct | 15 ms | 4176 KB | Output is correct |
26 | Correct | 15 ms | 4444 KB | Output is correct |
27 | Correct | 449 ms | 106240 KB | Output is correct |
28 | Correct | 0 ms | 348 KB | Output is correct |
29 | Correct | 0 ms | 348 KB | Output is correct |
30 | Correct | 0 ms | 348 KB | Output is correct |
31 | Correct | 2 ms | 860 KB | Output is correct |
32 | Correct | 23 ms | 7100 KB | Output is correct |
33 | Correct | 4 ms | 1372 KB | Output is correct |
34 | Correct | 5 ms | 1696 KB | Output is correct |
35 | Correct | 598 ms | 140848 KB | Output is correct |
36 | Correct | 582 ms | 132944 KB | Output is correct |
37 | Correct | 552 ms | 130620 KB | Output is correct |
38 | Correct | 625 ms | 139744 KB | Output is correct |
39 | Correct | 0 ms | 344 KB | Output is correct |
40 | Correct | 2 ms | 600 KB | Output is correct |
41 | Correct | 2 ms | 604 KB | Output is correct |
42 | Correct | 2 ms | 604 KB | Output is correct |
43 | Correct | 2 ms | 604 KB | Output is correct |
44 | Correct | 2 ms | 856 KB | Output is correct |
45 | Correct | 1 ms | 348 KB | Output is correct |
46 | Correct | 1 ms | 348 KB | Output is correct |
47 | Correct | 2 ms | 604 KB | Output is correct |
48 | Correct | 2 ms | 860 KB | Output is correct |
49 | Correct | 2 ms | 860 KB | Output is correct |
50 | Correct | 2 ms | 860 KB | Output is correct |
51 | Correct | 21 ms | 3420 KB | Output is correct |
52 | Correct | 17 ms | 3420 KB | Output is correct |
53 | Correct | 20 ms | 5212 KB | Output is correct |
54 | Correct | 22 ms | 7000 KB | Output is correct |
55 | Correct | 1 ms | 608 KB | Output is correct |
56 | Correct | 2 ms | 604 KB | Output is correct |
57 | Correct | 1 ms | 604 KB | Output is correct |
58 | Correct | 19 ms | 4844 KB | Output is correct |
59 | Correct | 22 ms | 4952 KB | Output is correct |
60 | Correct | 23 ms | 5500 KB | Output is correct |
61 | Correct | 21 ms | 5976 KB | Output is correct |
62 | Correct | 44 ms | 8528 KB | Output is correct |
63 | Correct | 52 ms | 8864 KB | Output is correct |
64 | Correct | 64 ms | 16052 KB | Output is correct |
65 | Correct | 213 ms | 47660 KB | Output is correct |
66 | Correct | 261 ms | 59592 KB | Output is correct |
67 | Correct | 5 ms | 1624 KB | Output is correct |
68 | Correct | 4 ms | 1372 KB | Output is correct |
69 | Correct | 428 ms | 73888 KB | Output is correct |
70 | Correct | 541 ms | 110496 KB | Output is correct |
71 | Correct | 629 ms | 141072 KB | Output is correct |
72 | Correct | 525 ms | 122192 KB | Output is correct |
73 | Correct | 608 ms | 133352 KB | Output is correct |
74 | Correct | 454 ms | 94416 KB | Output is correct |
75 | Correct | 528 ms | 106324 KB | Output is correct |