#include<bits/stdc++.h>
#define ll long long
#define f first
#define s second
#define pb push_back
using namespace std;
ll a[1000003],p[1000003],q[1000003],w[1000003];
int P[1000003][21];
ll sum[1000003],mx,o[1000003];
ll n,m,k,s,v[1000003],ans,ind;
ll get(ll x,ll y){
ll val = 0;
for(int j=20; j>=0; j--)
if(y >= (1 << j)){
y -= (1 << j);
x = P[x][j];
}
return -sum[x];
}
int main(){
ios::sync_with_stdio(false);
cin >> n >> s >> k;
for(int i=2; i<=n; i++){
cin >> a[i];
a[i] += a[i - 1];
}
for(int i=1; i<=n; i++){
cin >> v[i];
v[i] += v[i - 1];
}
ll l = 0,r = 0,wr = 0;
a[0] = 0;
for(int i=1; i<=n; i++){
while(a[i] - a[l] > k)l++;
while(r < n && a[r + 1] - a[i] <= k)r++;
for(int j=max(1LL,wr + 1); j<=r; j++){
p[j] = max(l - 1 , 0LL);
q[j] = v[r] - v[max(l - 1,0LL)];
sum[j] = sum[max(l - 1,0LL)] + v[j] - v[l - 1];
w[j] = i;
}
wr = r;
}
for(int i=1; i<=n; i++){
P[i][0] = p[i];
for(int j=1; j<=20; j++)
P[i][j] = P[P[i][j - 1]][j - 1];
ll mx = sum[i] + get(i , s);
if(mx >= ans){
ans = mx;
ind = i;
}
}
vector<ll>an;
while(ind != 0 && an.size() < s){
an.pb(w[ind]);
ind = p[ind];
}
sort(an.begin() , an.end());
cout << an.size() << '\n';
for(int i=0; i<an.size(); i++)
cout << an[i] << " ";
return 0;
}
Compilation message
SolarStorm.cpp: In function 'long long int get(long long int, long long int)':
SolarStorm.cpp:12:8: warning: unused variable 'val' [-Wunused-variable]
12 | ll val = 0;
| ^~~
SolarStorm.cpp: In function 'int main()':
SolarStorm.cpp:60:33: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
60 | while(ind != 0 && an.size() < s){
| ^
SolarStorm.cpp:67:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
67 | for(int i=0; i<an.size(); i++)
| ~^~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Correct |
4 ms |
1664 KB |
Output is correct |
3 |
Correct |
5 ms |
1792 KB |
Output is correct |
4 |
Correct |
2 ms |
1024 KB |
Output is correct |
5 |
Correct |
0 ms |
384 KB |
Output is correct |
6 |
Correct |
4 ms |
1536 KB |
Output is correct |
7 |
Correct |
4 ms |
1664 KB |
Output is correct |
8 |
Correct |
5 ms |
1792 KB |
Output is correct |
9 |
Correct |
3 ms |
1280 KB |
Output is correct |
10 |
Correct |
5 ms |
1688 KB |
Output is correct |
11 |
Correct |
5 ms |
1792 KB |
Output is correct |
12 |
Correct |
2 ms |
896 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
341 ms |
113328 KB |
Output is correct |
2 |
Correct |
219 ms |
72952 KB |
Output is correct |
3 |
Correct |
242 ms |
78076 KB |
Output is correct |
4 |
Correct |
268 ms |
84856 KB |
Output is correct |
5 |
Correct |
302 ms |
99064 KB |
Output is correct |
6 |
Correct |
431 ms |
131348 KB |
Output is correct |
7 |
Correct |
287 ms |
87544 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Correct |
4 ms |
1664 KB |
Output is correct |
3 |
Correct |
5 ms |
1792 KB |
Output is correct |
4 |
Correct |
2 ms |
1024 KB |
Output is correct |
5 |
Correct |
0 ms |
384 KB |
Output is correct |
6 |
Correct |
4 ms |
1536 KB |
Output is correct |
7 |
Correct |
4 ms |
1664 KB |
Output is correct |
8 |
Correct |
5 ms |
1792 KB |
Output is correct |
9 |
Correct |
3 ms |
1280 KB |
Output is correct |
10 |
Correct |
5 ms |
1688 KB |
Output is correct |
11 |
Correct |
5 ms |
1792 KB |
Output is correct |
12 |
Correct |
2 ms |
896 KB |
Output is correct |
13 |
Correct |
341 ms |
113328 KB |
Output is correct |
14 |
Correct |
219 ms |
72952 KB |
Output is correct |
15 |
Correct |
242 ms |
78076 KB |
Output is correct |
16 |
Correct |
268 ms |
84856 KB |
Output is correct |
17 |
Correct |
302 ms |
99064 KB |
Output is correct |
18 |
Correct |
431 ms |
131348 KB |
Output is correct |
19 |
Correct |
287 ms |
87544 KB |
Output is correct |
20 |
Correct |
239 ms |
72824 KB |
Output is correct |
21 |
Correct |
316 ms |
88952 KB |
Output is correct |
22 |
Correct |
356 ms |
105080 KB |
Output is correct |
23 |
Correct |
327 ms |
108024 KB |
Output is correct |
24 |
Correct |
312 ms |
97900 KB |
Output is correct |
25 |
Correct |
352 ms |
98112 KB |
Output is correct |
26 |
Correct |
242 ms |
73592 KB |
Output is correct |
27 |
Correct |
319 ms |
93816 KB |
Output is correct |
28 |
Correct |
340 ms |
92536 KB |
Output is correct |
29 |
Correct |
424 ms |
119416 KB |
Output is correct |
30 |
Correct |
390 ms |
98296 KB |
Output is correct |
31 |
Correct |
300 ms |
86428 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
429 ms |
114776 KB |
Output is correct |
2 |
Correct |
227 ms |
67960 KB |
Output is correct |
3 |
Correct |
234 ms |
72696 KB |
Output is correct |
4 |
Correct |
336 ms |
103928 KB |
Output is correct |
5 |
Correct |
323 ms |
100856 KB |
Output is correct |
6 |
Correct |
352 ms |
106744 KB |
Output is correct |
7 |
Correct |
584 ms |
139248 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Correct |
4 ms |
1664 KB |
Output is correct |
3 |
Correct |
5 ms |
1792 KB |
Output is correct |
4 |
Correct |
2 ms |
1024 KB |
Output is correct |
5 |
Correct |
0 ms |
384 KB |
Output is correct |
6 |
Correct |
4 ms |
1536 KB |
Output is correct |
7 |
Correct |
4 ms |
1664 KB |
Output is correct |
8 |
Correct |
5 ms |
1792 KB |
Output is correct |
9 |
Correct |
3 ms |
1280 KB |
Output is correct |
10 |
Correct |
5 ms |
1688 KB |
Output is correct |
11 |
Correct |
5 ms |
1792 KB |
Output is correct |
12 |
Correct |
2 ms |
896 KB |
Output is correct |
13 |
Correct |
5 ms |
1792 KB |
Output is correct |
14 |
Correct |
4 ms |
1536 KB |
Output is correct |
15 |
Correct |
4 ms |
1536 KB |
Output is correct |
16 |
Correct |
3 ms |
1280 KB |
Output is correct |
17 |
Correct |
4 ms |
1440 KB |
Output is correct |
18 |
Correct |
5 ms |
1792 KB |
Output is correct |
19 |
Correct |
5 ms |
1536 KB |
Output is correct |
20 |
Correct |
3 ms |
1408 KB |
Output is correct |
21 |
Correct |
6 ms |
2048 KB |
Output is correct |
22 |
Correct |
7 ms |
1792 KB |
Output is correct |
23 |
Correct |
5 ms |
1792 KB |
Output is correct |
24 |
Correct |
5 ms |
1664 KB |
Output is correct |
25 |
Correct |
5 ms |
1664 KB |
Output is correct |
26 |
Correct |
5 ms |
1664 KB |
Output is correct |
27 |
Correct |
4 ms |
1408 KB |
Output is correct |
28 |
Correct |
4 ms |
1536 KB |
Output is correct |
29 |
Correct |
4 ms |
1536 KB |
Output is correct |
30 |
Correct |
4 ms |
1664 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Correct |
4 ms |
1664 KB |
Output is correct |
3 |
Correct |
5 ms |
1792 KB |
Output is correct |
4 |
Correct |
2 ms |
1024 KB |
Output is correct |
5 |
Correct |
0 ms |
384 KB |
Output is correct |
6 |
Correct |
4 ms |
1536 KB |
Output is correct |
7 |
Correct |
4 ms |
1664 KB |
Output is correct |
8 |
Correct |
5 ms |
1792 KB |
Output is correct |
9 |
Correct |
3 ms |
1280 KB |
Output is correct |
10 |
Correct |
5 ms |
1688 KB |
Output is correct |
11 |
Correct |
5 ms |
1792 KB |
Output is correct |
12 |
Correct |
2 ms |
896 KB |
Output is correct |
13 |
Correct |
341 ms |
113328 KB |
Output is correct |
14 |
Correct |
219 ms |
72952 KB |
Output is correct |
15 |
Correct |
242 ms |
78076 KB |
Output is correct |
16 |
Correct |
268 ms |
84856 KB |
Output is correct |
17 |
Correct |
302 ms |
99064 KB |
Output is correct |
18 |
Correct |
431 ms |
131348 KB |
Output is correct |
19 |
Correct |
287 ms |
87544 KB |
Output is correct |
20 |
Correct |
239 ms |
72824 KB |
Output is correct |
21 |
Correct |
316 ms |
88952 KB |
Output is correct |
22 |
Correct |
356 ms |
105080 KB |
Output is correct |
23 |
Correct |
327 ms |
108024 KB |
Output is correct |
24 |
Correct |
312 ms |
97900 KB |
Output is correct |
25 |
Correct |
352 ms |
98112 KB |
Output is correct |
26 |
Correct |
242 ms |
73592 KB |
Output is correct |
27 |
Correct |
319 ms |
93816 KB |
Output is correct |
28 |
Correct |
340 ms |
92536 KB |
Output is correct |
29 |
Correct |
424 ms |
119416 KB |
Output is correct |
30 |
Correct |
390 ms |
98296 KB |
Output is correct |
31 |
Correct |
300 ms |
86428 KB |
Output is correct |
32 |
Correct |
361 ms |
114680 KB |
Output is correct |
33 |
Correct |
296 ms |
88288 KB |
Output is correct |
34 |
Correct |
456 ms |
131320 KB |
Output is correct |
35 |
Correct |
265 ms |
79096 KB |
Output is correct |
36 |
Correct |
269 ms |
84600 KB |
Output is correct |
37 |
Correct |
300 ms |
93516 KB |
Output is correct |
38 |
Correct |
491 ms |
141948 KB |
Output is correct |
39 |
Correct |
333 ms |
106488 KB |
Output is correct |
40 |
Correct |
455 ms |
143096 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Correct |
4 ms |
1664 KB |
Output is correct |
3 |
Correct |
5 ms |
1792 KB |
Output is correct |
4 |
Correct |
2 ms |
1024 KB |
Output is correct |
5 |
Correct |
0 ms |
384 KB |
Output is correct |
6 |
Correct |
4 ms |
1536 KB |
Output is correct |
7 |
Correct |
4 ms |
1664 KB |
Output is correct |
8 |
Correct |
5 ms |
1792 KB |
Output is correct |
9 |
Correct |
3 ms |
1280 KB |
Output is correct |
10 |
Correct |
5 ms |
1688 KB |
Output is correct |
11 |
Correct |
5 ms |
1792 KB |
Output is correct |
12 |
Correct |
2 ms |
896 KB |
Output is correct |
13 |
Correct |
341 ms |
113328 KB |
Output is correct |
14 |
Correct |
219 ms |
72952 KB |
Output is correct |
15 |
Correct |
242 ms |
78076 KB |
Output is correct |
16 |
Correct |
268 ms |
84856 KB |
Output is correct |
17 |
Correct |
302 ms |
99064 KB |
Output is correct |
18 |
Correct |
431 ms |
131348 KB |
Output is correct |
19 |
Correct |
287 ms |
87544 KB |
Output is correct |
20 |
Correct |
239 ms |
72824 KB |
Output is correct |
21 |
Correct |
316 ms |
88952 KB |
Output is correct |
22 |
Correct |
356 ms |
105080 KB |
Output is correct |
23 |
Correct |
327 ms |
108024 KB |
Output is correct |
24 |
Correct |
312 ms |
97900 KB |
Output is correct |
25 |
Correct |
352 ms |
98112 KB |
Output is correct |
26 |
Correct |
242 ms |
73592 KB |
Output is correct |
27 |
Correct |
319 ms |
93816 KB |
Output is correct |
28 |
Correct |
340 ms |
92536 KB |
Output is correct |
29 |
Correct |
424 ms |
119416 KB |
Output is correct |
30 |
Correct |
390 ms |
98296 KB |
Output is correct |
31 |
Correct |
300 ms |
86428 KB |
Output is correct |
32 |
Correct |
429 ms |
114776 KB |
Output is correct |
33 |
Correct |
227 ms |
67960 KB |
Output is correct |
34 |
Correct |
234 ms |
72696 KB |
Output is correct |
35 |
Correct |
336 ms |
103928 KB |
Output is correct |
36 |
Correct |
323 ms |
100856 KB |
Output is correct |
37 |
Correct |
352 ms |
106744 KB |
Output is correct |
38 |
Correct |
584 ms |
139248 KB |
Output is correct |
39 |
Correct |
5 ms |
1792 KB |
Output is correct |
40 |
Correct |
4 ms |
1536 KB |
Output is correct |
41 |
Correct |
4 ms |
1536 KB |
Output is correct |
42 |
Correct |
3 ms |
1280 KB |
Output is correct |
43 |
Correct |
4 ms |
1440 KB |
Output is correct |
44 |
Correct |
5 ms |
1792 KB |
Output is correct |
45 |
Correct |
5 ms |
1536 KB |
Output is correct |
46 |
Correct |
3 ms |
1408 KB |
Output is correct |
47 |
Correct |
6 ms |
2048 KB |
Output is correct |
48 |
Correct |
7 ms |
1792 KB |
Output is correct |
49 |
Correct |
5 ms |
1792 KB |
Output is correct |
50 |
Correct |
5 ms |
1664 KB |
Output is correct |
51 |
Correct |
5 ms |
1664 KB |
Output is correct |
52 |
Correct |
5 ms |
1664 KB |
Output is correct |
53 |
Correct |
4 ms |
1408 KB |
Output is correct |
54 |
Correct |
4 ms |
1536 KB |
Output is correct |
55 |
Correct |
4 ms |
1536 KB |
Output is correct |
56 |
Correct |
4 ms |
1664 KB |
Output is correct |
57 |
Correct |
361 ms |
114680 KB |
Output is correct |
58 |
Correct |
296 ms |
88288 KB |
Output is correct |
59 |
Correct |
456 ms |
131320 KB |
Output is correct |
60 |
Correct |
265 ms |
79096 KB |
Output is correct |
61 |
Correct |
269 ms |
84600 KB |
Output is correct |
62 |
Correct |
300 ms |
93516 KB |
Output is correct |
63 |
Correct |
491 ms |
141948 KB |
Output is correct |
64 |
Correct |
333 ms |
106488 KB |
Output is correct |
65 |
Correct |
455 ms |
143096 KB |
Output is correct |
66 |
Correct |
263 ms |
85608 KB |
Output is correct |
67 |
Correct |
433 ms |
123536 KB |
Output is correct |
68 |
Correct |
319 ms |
86632 KB |
Output is correct |
69 |
Correct |
407 ms |
112948 KB |
Output is correct |
70 |
Correct |
259 ms |
88952 KB |
Output is correct |
71 |
Correct |
482 ms |
142044 KB |
Output is correct |
72 |
Correct |
291 ms |
89720 KB |
Output is correct |
73 |
Correct |
368 ms |
117496 KB |
Output is correct |
74 |
Correct |
228 ms |
73208 KB |
Output is correct |
75 |
Correct |
381 ms |
120440 KB |
Output is correct |
76 |
Correct |
259 ms |
83960 KB |
Output is correct |
77 |
Correct |
352 ms |
112376 KB |
Output is correct |
78 |
Correct |
252 ms |
80180 KB |
Output is correct |
79 |
Correct |
321 ms |
103800 KB |
Output is correct |
80 |
Correct |
436 ms |
129720 KB |
Output is correct |
81 |
Correct |
253 ms |
85496 KB |
Output is correct |
82 |
Correct |
329 ms |
108280 KB |
Output is correct |
83 |
Correct |
244 ms |
72056 KB |
Output is correct |
84 |
Correct |
264 ms |
78328 KB |
Output is correct |
85 |
Correct |
241 ms |
73208 KB |
Output is correct |
86 |
Correct |
410 ms |
129264 KB |
Output is correct |
87 |
Correct |
246 ms |
73584 KB |
Output is correct |
88 |
Correct |
458 ms |
129736 KB |
Output is correct |
89 |
Correct |
372 ms |
104808 KB |
Output is correct |
90 |
Correct |
289 ms |
94844 KB |
Output is correct |
91 |
Correct |
572 ms |
157908 KB |
Output is correct |
92 |
Correct |
465 ms |
144116 KB |
Output is correct |
93 |
Correct |
598 ms |
151008 KB |
Output is correct |
94 |
Correct |
608 ms |
151008 KB |
Output is correct |
95 |
Correct |
440 ms |
127736 KB |
Output is correct |
96 |
Correct |
325 ms |
100344 KB |
Output is correct |
97 |
Correct |
460 ms |
136944 KB |
Output is correct |
98 |
Correct |
339 ms |
91624 KB |
Output is correct |
99 |
Correct |
380 ms |
105940 KB |
Output is correct |
100 |
Correct |
386 ms |
102468 KB |
Output is correct |