# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
224516 | 2020-04-18T09:40:29 Z | Nightlight | Solar Storm (NOI20_solarstorm) | C++14 | 984 ms | 243836 KB |
#include <bits/stdc++.h> #define dist(a, b) (pos[a] - pos[b]) using namespace std; long long N, K, S; long long pos[1000005]; long long pre[1000005]; long long sh[1000005]; long long T[1000005][25]; vector<int> loc; int lift(int u, int f) { for(int i = 20; i >= 0; i--) { if(f >= (1 << i)) { f -= (1 << i); u = T[u][i]; } } return u; } int main() { // freopen("inp", "r", stdin); scanf("%lld %lld %lld", &N, &S, &K); for(int i = 2; i <= N; i++) { scanf("%lld", &pos[i]); pos[i] += pos[i - 1]; } for(int i = 1; i <= N; i++) { scanf("%lld", &pre[i]); pre[i] += pre[i - 1]; } //precompute reach dalam O(N) deque<long long> L, mid; for(int R = 1; R <= N; R++) { while(!mid.empty() && dist(R, mid.front()) > K) mid.pop_front(); if(mid.empty()) L.clear(); else { while(!L.empty() && dist(mid.front(), L.front()) > K) L.pop_front(); } if(mid.empty()) { sh[R] = R; T[R][0] = R - 1; }else if(L.empty()) { sh[R] = mid.front(); T[R][0] = mid.front() - 1; }else { sh[R] = mid.front(); T[R][0] = L.front() - 1; } mid.push_back(R); L.push_back(R); } //precomputebinary lift for(int j = 1; j <= 20; j++) { for(int i = 1; i <= N; i++) { T[i][j] = T[T[i][j - 1]][j - 1]; } } //binary lift coba semua kemungkinan int opt; long long ans = 0, id, res; for(int i = S; i <= N; i++) { opt = lift(i, S); res = pre[i] - pre[opt]; if(ans < res) { ans = res; id = i; } } //bruteforce jawaban int krg = S, p = id; while(krg > 0 && p != 0) { loc.push_back(sh[p]); p = T[p][0]; krg--; } printf("%lld\n", S - krg); for(int i : loc) { printf("%d ", i); } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 9 ms | 2432 KB | Output is correct |
3 | Correct | 9 ms | 2688 KB | Output is correct |
4 | Correct | 7 ms | 1280 KB | Output is correct |
5 | Correct | 5 ms | 256 KB | Output is correct |
6 | Correct | 8 ms | 2304 KB | Output is correct |
7 | Correct | 8 ms | 2432 KB | Output is correct |
8 | Correct | 9 ms | 2816 KB | Output is correct |
9 | Correct | 8 ms | 1792 KB | Output is correct |
10 | Correct | 9 ms | 2560 KB | Output is correct |
11 | Correct | 11 ms | 2688 KB | Output is correct |
12 | Correct | 6 ms | 1280 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 497 ms | 209840 KB | Output is correct |
2 | Correct | 365 ms | 130168 KB | Output is correct |
3 | Correct | 391 ms | 135416 KB | Output is correct |
4 | Correct | 369 ms | 145656 KB | Output is correct |
5 | Correct | 458 ms | 170748 KB | Output is correct |
6 | Correct | 683 ms | 227448 KB | Output is correct |
7 | Correct | 450 ms | 150136 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 9 ms | 2432 KB | Output is correct |
3 | Correct | 9 ms | 2688 KB | Output is correct |
4 | Correct | 7 ms | 1280 KB | Output is correct |
5 | Correct | 5 ms | 256 KB | Output is correct |
6 | Correct | 8 ms | 2304 KB | Output is correct |
7 | Correct | 8 ms | 2432 KB | Output is correct |
8 | Correct | 9 ms | 2816 KB | Output is correct |
9 | Correct | 8 ms | 1792 KB | Output is correct |
10 | Correct | 9 ms | 2560 KB | Output is correct |
11 | Correct | 11 ms | 2688 KB | Output is correct |
12 | Correct | 6 ms | 1280 KB | Output is correct |
13 | Correct | 497 ms | 209840 KB | Output is correct |
14 | Correct | 365 ms | 130168 KB | Output is correct |
15 | Correct | 391 ms | 135416 KB | Output is correct |
16 | Correct | 369 ms | 145656 KB | Output is correct |
17 | Correct | 458 ms | 170748 KB | Output is correct |
18 | Correct | 683 ms | 227448 KB | Output is correct |
19 | Correct | 450 ms | 150136 KB | Output is correct |
20 | Correct | 340 ms | 134520 KB | Output is correct |
21 | Correct | 449 ms | 155640 KB | Output is correct |
22 | Correct | 545 ms | 184696 KB | Output is correct |
23 | Correct | 544 ms | 201336 KB | Output is correct |
24 | Correct | 459 ms | 183928 KB | Output is correct |
25 | Correct | 468 ms | 173816 KB | Output is correct |
26 | Correct | 344 ms | 131704 KB | Output is correct |
27 | Correct | 471 ms | 165624 KB | Output is correct |
28 | Correct | 455 ms | 162680 KB | Output is correct |
29 | Correct | 586 ms | 211572 KB | Output is correct |
30 | Correct | 525 ms | 173044 KB | Output is correct |
31 | Correct | 440 ms | 151800 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 582 ms | 188892 KB | Output is correct |
2 | Correct | 348 ms | 115580 KB | Output is correct |
3 | Correct | 457 ms | 124280 KB | Output is correct |
4 | Correct | 506 ms | 179792 KB | Output is correct |
5 | Correct | 534 ms | 174328 KB | Output is correct |
6 | Correct | 492 ms | 184776 KB | Output is correct |
7 | Correct | 784 ms | 234084 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 9 ms | 2432 KB | Output is correct |
3 | Correct | 9 ms | 2688 KB | Output is correct |
4 | Correct | 7 ms | 1280 KB | Output is correct |
5 | Correct | 5 ms | 256 KB | Output is correct |
6 | Correct | 8 ms | 2304 KB | Output is correct |
7 | Correct | 8 ms | 2432 KB | Output is correct |
8 | Correct | 9 ms | 2816 KB | Output is correct |
9 | Correct | 8 ms | 1792 KB | Output is correct |
10 | Correct | 9 ms | 2560 KB | Output is correct |
11 | Correct | 11 ms | 2688 KB | Output is correct |
12 | Correct | 6 ms | 1280 KB | Output is correct |
13 | Correct | 9 ms | 2816 KB | Output is correct |
14 | Correct | 8 ms | 2176 KB | Output is correct |
15 | Correct | 9 ms | 2176 KB | Output is correct |
16 | Correct | 7 ms | 1664 KB | Output is correct |
17 | Correct | 8 ms | 2048 KB | Output is correct |
18 | Correct | 9 ms | 2560 KB | Output is correct |
19 | Correct | 8 ms | 2176 KB | Output is correct |
20 | Correct | 8 ms | 1920 KB | Output is correct |
21 | Correct | 11 ms | 2816 KB | Output is correct |
22 | Correct | 9 ms | 2688 KB | Output is correct |
23 | Correct | 9 ms | 2688 KB | Output is correct |
24 | Correct | 8 ms | 2304 KB | Output is correct |
25 | Correct | 10 ms | 2432 KB | Output is correct |
26 | Correct | 9 ms | 2432 KB | Output is correct |
27 | Correct | 8 ms | 2048 KB | Output is correct |
28 | Correct | 8 ms | 2048 KB | Output is correct |
29 | Correct | 9 ms | 2048 KB | Output is correct |
30 | Correct | 9 ms | 2688 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 9 ms | 2432 KB | Output is correct |
3 | Correct | 9 ms | 2688 KB | Output is correct |
4 | Correct | 7 ms | 1280 KB | Output is correct |
5 | Correct | 5 ms | 256 KB | Output is correct |
6 | Correct | 8 ms | 2304 KB | Output is correct |
7 | Correct | 8 ms | 2432 KB | Output is correct |
8 | Correct | 9 ms | 2816 KB | Output is correct |
9 | Correct | 8 ms | 1792 KB | Output is correct |
10 | Correct | 9 ms | 2560 KB | Output is correct |
11 | Correct | 11 ms | 2688 KB | Output is correct |
12 | Correct | 6 ms | 1280 KB | Output is correct |
13 | Correct | 497 ms | 209840 KB | Output is correct |
14 | Correct | 365 ms | 130168 KB | Output is correct |
15 | Correct | 391 ms | 135416 KB | Output is correct |
16 | Correct | 369 ms | 145656 KB | Output is correct |
17 | Correct | 458 ms | 170748 KB | Output is correct |
18 | Correct | 683 ms | 227448 KB | Output is correct |
19 | Correct | 450 ms | 150136 KB | Output is correct |
20 | Correct | 340 ms | 134520 KB | Output is correct |
21 | Correct | 449 ms | 155640 KB | Output is correct |
22 | Correct | 545 ms | 184696 KB | Output is correct |
23 | Correct | 544 ms | 201336 KB | Output is correct |
24 | Correct | 459 ms | 183928 KB | Output is correct |
25 | Correct | 468 ms | 173816 KB | Output is correct |
26 | Correct | 344 ms | 131704 KB | Output is correct |
27 | Correct | 471 ms | 165624 KB | Output is correct |
28 | Correct | 455 ms | 162680 KB | Output is correct |
29 | Correct | 586 ms | 211572 KB | Output is correct |
30 | Correct | 525 ms | 173044 KB | Output is correct |
31 | Correct | 440 ms | 151800 KB | Output is correct |
32 | Correct | 598 ms | 217384 KB | Output is correct |
33 | Correct | 446 ms | 159040 KB | Output is correct |
34 | Correct | 703 ms | 214008 KB | Output is correct |
35 | Correct | 413 ms | 128888 KB | Output is correct |
36 | Correct | 454 ms | 137720 KB | Output is correct |
37 | Correct | 467 ms | 152056 KB | Output is correct |
38 | Correct | 691 ms | 231156 KB | Output is correct |
39 | Correct | 512 ms | 173432 KB | Output is correct |
40 | Correct | 672 ms | 232952 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 9 ms | 2432 KB | Output is correct |
3 | Correct | 9 ms | 2688 KB | Output is correct |
4 | Correct | 7 ms | 1280 KB | Output is correct |
5 | Correct | 5 ms | 256 KB | Output is correct |
6 | Correct | 8 ms | 2304 KB | Output is correct |
7 | Correct | 8 ms | 2432 KB | Output is correct |
8 | Correct | 9 ms | 2816 KB | Output is correct |
9 | Correct | 8 ms | 1792 KB | Output is correct |
10 | Correct | 9 ms | 2560 KB | Output is correct |
11 | Correct | 11 ms | 2688 KB | Output is correct |
12 | Correct | 6 ms | 1280 KB | Output is correct |
13 | Correct | 497 ms | 209840 KB | Output is correct |
14 | Correct | 365 ms | 130168 KB | Output is correct |
15 | Correct | 391 ms | 135416 KB | Output is correct |
16 | Correct | 369 ms | 145656 KB | Output is correct |
17 | Correct | 458 ms | 170748 KB | Output is correct |
18 | Correct | 683 ms | 227448 KB | Output is correct |
19 | Correct | 450 ms | 150136 KB | Output is correct |
20 | Correct | 340 ms | 134520 KB | Output is correct |
21 | Correct | 449 ms | 155640 KB | Output is correct |
22 | Correct | 545 ms | 184696 KB | Output is correct |
23 | Correct | 544 ms | 201336 KB | Output is correct |
24 | Correct | 459 ms | 183928 KB | Output is correct |
25 | Correct | 468 ms | 173816 KB | Output is correct |
26 | Correct | 344 ms | 131704 KB | Output is correct |
27 | Correct | 471 ms | 165624 KB | Output is correct |
28 | Correct | 455 ms | 162680 KB | Output is correct |
29 | Correct | 586 ms | 211572 KB | Output is correct |
30 | Correct | 525 ms | 173044 KB | Output is correct |
31 | Correct | 440 ms | 151800 KB | Output is correct |
32 | Correct | 582 ms | 188892 KB | Output is correct |
33 | Correct | 348 ms | 115580 KB | Output is correct |
34 | Correct | 457 ms | 124280 KB | Output is correct |
35 | Correct | 506 ms | 179792 KB | Output is correct |
36 | Correct | 534 ms | 174328 KB | Output is correct |
37 | Correct | 492 ms | 184776 KB | Output is correct |
38 | Correct | 784 ms | 234084 KB | Output is correct |
39 | Correct | 9 ms | 2816 KB | Output is correct |
40 | Correct | 8 ms | 2176 KB | Output is correct |
41 | Correct | 9 ms | 2176 KB | Output is correct |
42 | Correct | 7 ms | 1664 KB | Output is correct |
43 | Correct | 8 ms | 2048 KB | Output is correct |
44 | Correct | 9 ms | 2560 KB | Output is correct |
45 | Correct | 8 ms | 2176 KB | Output is correct |
46 | Correct | 8 ms | 1920 KB | Output is correct |
47 | Correct | 11 ms | 2816 KB | Output is correct |
48 | Correct | 9 ms | 2688 KB | Output is correct |
49 | Correct | 9 ms | 2688 KB | Output is correct |
50 | Correct | 8 ms | 2304 KB | Output is correct |
51 | Correct | 10 ms | 2432 KB | Output is correct |
52 | Correct | 9 ms | 2432 KB | Output is correct |
53 | Correct | 8 ms | 2048 KB | Output is correct |
54 | Correct | 8 ms | 2048 KB | Output is correct |
55 | Correct | 9 ms | 2048 KB | Output is correct |
56 | Correct | 9 ms | 2688 KB | Output is correct |
57 | Correct | 598 ms | 217384 KB | Output is correct |
58 | Correct | 446 ms | 159040 KB | Output is correct |
59 | Correct | 703 ms | 214008 KB | Output is correct |
60 | Correct | 413 ms | 128888 KB | Output is correct |
61 | Correct | 454 ms | 137720 KB | Output is correct |
62 | Correct | 467 ms | 152056 KB | Output is correct |
63 | Correct | 691 ms | 231156 KB | Output is correct |
64 | Correct | 512 ms | 173432 KB | Output is correct |
65 | Correct | 672 ms | 232952 KB | Output is correct |
66 | Correct | 354 ms | 148984 KB | Output is correct |
67 | Correct | 774 ms | 195300 KB | Output is correct |
68 | Correct | 452 ms | 133304 KB | Output is correct |
69 | Correct | 594 ms | 180700 KB | Output is correct |
70 | Correct | 417 ms | 154988 KB | Output is correct |
71 | Correct | 797 ms | 231392 KB | Output is correct |
72 | Correct | 432 ms | 146168 KB | Output is correct |
73 | Correct | 572 ms | 191284 KB | Output is correct |
74 | Correct | 381 ms | 118964 KB | Output is correct |
75 | Correct | 783 ms | 196124 KB | Output is correct |
76 | Correct | 472 ms | 136568 KB | Output is correct |
77 | Correct | 549 ms | 184076 KB | Output is correct |
78 | Correct | 412 ms | 130172 KB | Output is correct |
79 | Correct | 570 ms | 169008 KB | Output is correct |
80 | Correct | 685 ms | 211316 KB | Output is correct |
81 | Correct | 398 ms | 149112 KB | Output is correct |
82 | Correct | 578 ms | 179904 KB | Output is correct |
83 | Correct | 351 ms | 117496 KB | Output is correct |
84 | Correct | 355 ms | 127328 KB | Output is correct |
85 | Correct | 385 ms | 119160 KB | Output is correct |
86 | Correct | 577 ms | 210528 KB | Output is correct |
87 | Correct | 353 ms | 119544 KB | Output is correct |
88 | Correct | 573 ms | 211064 KB | Output is correct |
89 | Correct | 485 ms | 170460 KB | Output is correct |
90 | Correct | 417 ms | 154360 KB | Output is correct |
91 | Correct | 885 ms | 243836 KB | Output is correct |
92 | Correct | 918 ms | 233816 KB | Output is correct |
93 | Correct | 984 ms | 238864 KB | Output is correct |
94 | Correct | 884 ms | 238860 KB | Output is correct |
95 | Correct | 605 ms | 207712 KB | Output is correct |
96 | Correct | 439 ms | 163168 KB | Output is correct |
97 | Correct | 633 ms | 221580 KB | Output is correct |
98 | Correct | 447 ms | 146156 KB | Output is correct |
99 | Correct | 509 ms | 163804 KB | Output is correct |
100 | Correct | 515 ms | 158352 KB | Output is correct |