#include <bits/stdc++.h>
#define FR(i, N) for (int i = 0; i < int(N); i++)
#define all(x) begin(x), end(x)
using namespace std;
using ll = long long;
const ll INF = (ll)(1e18);
const int MAXN = (int)(1e6) + 5;
const int MAXK = 22;
set<pair<ll, int>> st;
int bk[MAXN][MAXK];
int main() {
cin.tie(0);
cin.sync_with_stdio(0);
int N, S;
ll K;
cin >> N >> S >> K;
vector<ll> loc;
vector<ll> cost;
cost.resize(N+1);
loc.resize(N+1);
loc[0] = -INF;
cost[0] = 0;
loc[1] = 1;
for (int i = 2; i < N+1; i++) {
cin >> loc[i];
loc[i] += max(0LL, loc[i-1]);
}
for (int i = 1; i <= N; i++) {
cin >> cost[i];
cost[i] += cost[i-1];
}
for (int i = 0; i <= N; i++) {
st.insert({loc[i], i});
}
ll res = 0;
int resI = -1;
for (int j = 1; j <= N; j++) {
pair<ll, int> ini = *st.lower_bound({loc[j]-K, -1});
ini = *(prev(st.lower_bound({ini.first-K, -1})));
bk[j][0] = ini.second;
for (int k = 1; k < MAXK; k++) {
bk[j][k] = bk[bk[j][k-1]][k-1];
}
int cur = j;
for (int k = 0; k < MAXK; k++) {
if (S&(1<<k)) {
cur = bk[cur][k];
}
}
if (cost[j] - cost[cur] > res) {
resI = j;
res = cost[j] - cost[cur];
}
}
vector<int> ans;
FR(iter, S) {
pair<ll, int> ini = *st.lower_bound({loc[resI]-K, -1});
if (ini.second != 0) {
ans.push_back(ini.second);
}
else {
break;
}
resI = (*(prev(st.lower_bound({ini.first-K, -1})))).second;
}
cout << ans.size() << '\n';
for (int j : ans) {
cout << j << " ";
}
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
7 ms |
1900 KB |
Output is correct |
3 |
Correct |
8 ms |
2176 KB |
Output is correct |
4 |
Correct |
4 ms |
1132 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
7 ms |
1776 KB |
Output is correct |
7 |
Correct |
6 ms |
1900 KB |
Output is correct |
8 |
Correct |
7 ms |
2156 KB |
Output is correct |
9 |
Correct |
5 ms |
1516 KB |
Output is correct |
10 |
Correct |
8 ms |
2028 KB |
Output is correct |
11 |
Correct |
8 ms |
2156 KB |
Output is correct |
12 |
Correct |
4 ms |
1004 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
726 ms |
148868 KB |
Output is correct |
2 |
Correct |
475 ms |
94700 KB |
Output is correct |
3 |
Correct |
537 ms |
101484 KB |
Output is correct |
4 |
Correct |
604 ms |
110700 KB |
Output is correct |
5 |
Correct |
729 ms |
129644 KB |
Output is correct |
6 |
Correct |
961 ms |
173024 KB |
Output is correct |
7 |
Correct |
663 ms |
114284 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
7 ms |
1900 KB |
Output is correct |
3 |
Correct |
8 ms |
2176 KB |
Output is correct |
4 |
Correct |
4 ms |
1132 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
7 ms |
1776 KB |
Output is correct |
7 |
Correct |
6 ms |
1900 KB |
Output is correct |
8 |
Correct |
7 ms |
2156 KB |
Output is correct |
9 |
Correct |
5 ms |
1516 KB |
Output is correct |
10 |
Correct |
8 ms |
2028 KB |
Output is correct |
11 |
Correct |
8 ms |
2156 KB |
Output is correct |
12 |
Correct |
4 ms |
1004 KB |
Output is correct |
13 |
Correct |
726 ms |
148868 KB |
Output is correct |
14 |
Correct |
475 ms |
94700 KB |
Output is correct |
15 |
Correct |
537 ms |
101484 KB |
Output is correct |
16 |
Correct |
604 ms |
110700 KB |
Output is correct |
17 |
Correct |
729 ms |
129644 KB |
Output is correct |
18 |
Correct |
961 ms |
173024 KB |
Output is correct |
19 |
Correct |
663 ms |
114284 KB |
Output is correct |
20 |
Correct |
462 ms |
97096 KB |
Output is correct |
21 |
Correct |
663 ms |
119020 KB |
Output is correct |
22 |
Correct |
818 ms |
141328 KB |
Output is correct |
23 |
Correct |
679 ms |
143252 KB |
Output is correct |
24 |
Correct |
646 ms |
131620 KB |
Output is correct |
25 |
Correct |
709 ms |
131564 KB |
Output is correct |
26 |
Correct |
486 ms |
97900 KB |
Output is correct |
27 |
Correct |
692 ms |
125804 KB |
Output is correct |
28 |
Correct |
717 ms |
124524 KB |
Output is correct |
29 |
Correct |
887 ms |
161772 KB |
Output is correct |
30 |
Correct |
776 ms |
132588 KB |
Output is correct |
31 |
Correct |
659 ms |
116180 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1018 ms |
145152 KB |
Output is correct |
2 |
Correct |
489 ms |
88044 KB |
Output is correct |
3 |
Correct |
510 ms |
94512 KB |
Output is correct |
4 |
Correct |
750 ms |
136684 KB |
Output is correct |
5 |
Correct |
746 ms |
132604 KB |
Output is correct |
6 |
Correct |
768 ms |
140396 KB |
Output is correct |
7 |
Correct |
1174 ms |
179244 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
7 ms |
1900 KB |
Output is correct |
3 |
Correct |
8 ms |
2176 KB |
Output is correct |
4 |
Correct |
4 ms |
1132 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
7 ms |
1776 KB |
Output is correct |
7 |
Correct |
6 ms |
1900 KB |
Output is correct |
8 |
Correct |
7 ms |
2156 KB |
Output is correct |
9 |
Correct |
5 ms |
1516 KB |
Output is correct |
10 |
Correct |
8 ms |
2028 KB |
Output is correct |
11 |
Correct |
8 ms |
2156 KB |
Output is correct |
12 |
Correct |
4 ms |
1004 KB |
Output is correct |
13 |
Correct |
7 ms |
2284 KB |
Output is correct |
14 |
Correct |
7 ms |
1772 KB |
Output is correct |
15 |
Correct |
7 ms |
1772 KB |
Output is correct |
16 |
Correct |
5 ms |
1260 KB |
Output is correct |
17 |
Correct |
7 ms |
1644 KB |
Output is correct |
18 |
Correct |
8 ms |
2028 KB |
Output is correct |
19 |
Correct |
7 ms |
1772 KB |
Output is correct |
20 |
Correct |
6 ms |
1472 KB |
Output is correct |
21 |
Correct |
11 ms |
2284 KB |
Output is correct |
22 |
Correct |
9 ms |
2156 KB |
Output is correct |
23 |
Correct |
12 ms |
2080 KB |
Output is correct |
24 |
Correct |
8 ms |
1900 KB |
Output is correct |
25 |
Correct |
8 ms |
1900 KB |
Output is correct |
26 |
Correct |
8 ms |
1900 KB |
Output is correct |
27 |
Correct |
6 ms |
1644 KB |
Output is correct |
28 |
Correct |
6 ms |
1644 KB |
Output is correct |
29 |
Correct |
7 ms |
1644 KB |
Output is correct |
30 |
Correct |
7 ms |
2028 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
7 ms |
1900 KB |
Output is correct |
3 |
Correct |
8 ms |
2176 KB |
Output is correct |
4 |
Correct |
4 ms |
1132 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
7 ms |
1776 KB |
Output is correct |
7 |
Correct |
6 ms |
1900 KB |
Output is correct |
8 |
Correct |
7 ms |
2156 KB |
Output is correct |
9 |
Correct |
5 ms |
1516 KB |
Output is correct |
10 |
Correct |
8 ms |
2028 KB |
Output is correct |
11 |
Correct |
8 ms |
2156 KB |
Output is correct |
12 |
Correct |
4 ms |
1004 KB |
Output is correct |
13 |
Correct |
726 ms |
148868 KB |
Output is correct |
14 |
Correct |
475 ms |
94700 KB |
Output is correct |
15 |
Correct |
537 ms |
101484 KB |
Output is correct |
16 |
Correct |
604 ms |
110700 KB |
Output is correct |
17 |
Correct |
729 ms |
129644 KB |
Output is correct |
18 |
Correct |
961 ms |
173024 KB |
Output is correct |
19 |
Correct |
663 ms |
114284 KB |
Output is correct |
20 |
Correct |
462 ms |
97096 KB |
Output is correct |
21 |
Correct |
663 ms |
119020 KB |
Output is correct |
22 |
Correct |
818 ms |
141328 KB |
Output is correct |
23 |
Correct |
679 ms |
143252 KB |
Output is correct |
24 |
Correct |
646 ms |
131620 KB |
Output is correct |
25 |
Correct |
709 ms |
131564 KB |
Output is correct |
26 |
Correct |
486 ms |
97900 KB |
Output is correct |
27 |
Correct |
692 ms |
125804 KB |
Output is correct |
28 |
Correct |
717 ms |
124524 KB |
Output is correct |
29 |
Correct |
887 ms |
161772 KB |
Output is correct |
30 |
Correct |
776 ms |
132588 KB |
Output is correct |
31 |
Correct |
659 ms |
116180 KB |
Output is correct |
32 |
Correct |
741 ms |
155240 KB |
Output is correct |
33 |
Correct |
627 ms |
118956 KB |
Output is correct |
34 |
Correct |
1002 ms |
163712 KB |
Output is correct |
35 |
Correct |
568 ms |
98436 KB |
Output is correct |
36 |
Correct |
569 ms |
105452 KB |
Output is correct |
37 |
Correct |
618 ms |
116332 KB |
Output is correct |
38 |
Correct |
1091 ms |
177004 KB |
Output is correct |
39 |
Correct |
722 ms |
132744 KB |
Output is correct |
40 |
Correct |
995 ms |
178284 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
7 ms |
1900 KB |
Output is correct |
3 |
Correct |
8 ms |
2176 KB |
Output is correct |
4 |
Correct |
4 ms |
1132 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
7 ms |
1776 KB |
Output is correct |
7 |
Correct |
6 ms |
1900 KB |
Output is correct |
8 |
Correct |
7 ms |
2156 KB |
Output is correct |
9 |
Correct |
5 ms |
1516 KB |
Output is correct |
10 |
Correct |
8 ms |
2028 KB |
Output is correct |
11 |
Correct |
8 ms |
2156 KB |
Output is correct |
12 |
Correct |
4 ms |
1004 KB |
Output is correct |
13 |
Correct |
726 ms |
148868 KB |
Output is correct |
14 |
Correct |
475 ms |
94700 KB |
Output is correct |
15 |
Correct |
537 ms |
101484 KB |
Output is correct |
16 |
Correct |
604 ms |
110700 KB |
Output is correct |
17 |
Correct |
729 ms |
129644 KB |
Output is correct |
18 |
Correct |
961 ms |
173024 KB |
Output is correct |
19 |
Correct |
663 ms |
114284 KB |
Output is correct |
20 |
Correct |
462 ms |
97096 KB |
Output is correct |
21 |
Correct |
663 ms |
119020 KB |
Output is correct |
22 |
Correct |
818 ms |
141328 KB |
Output is correct |
23 |
Correct |
679 ms |
143252 KB |
Output is correct |
24 |
Correct |
646 ms |
131620 KB |
Output is correct |
25 |
Correct |
709 ms |
131564 KB |
Output is correct |
26 |
Correct |
486 ms |
97900 KB |
Output is correct |
27 |
Correct |
692 ms |
125804 KB |
Output is correct |
28 |
Correct |
717 ms |
124524 KB |
Output is correct |
29 |
Correct |
887 ms |
161772 KB |
Output is correct |
30 |
Correct |
776 ms |
132588 KB |
Output is correct |
31 |
Correct |
659 ms |
116180 KB |
Output is correct |
32 |
Correct |
1018 ms |
145152 KB |
Output is correct |
33 |
Correct |
489 ms |
88044 KB |
Output is correct |
34 |
Correct |
510 ms |
94512 KB |
Output is correct |
35 |
Correct |
750 ms |
136684 KB |
Output is correct |
36 |
Correct |
746 ms |
132604 KB |
Output is correct |
37 |
Correct |
768 ms |
140396 KB |
Output is correct |
38 |
Correct |
1174 ms |
179244 KB |
Output is correct |
39 |
Correct |
7 ms |
2284 KB |
Output is correct |
40 |
Correct |
7 ms |
1772 KB |
Output is correct |
41 |
Correct |
7 ms |
1772 KB |
Output is correct |
42 |
Correct |
5 ms |
1260 KB |
Output is correct |
43 |
Correct |
7 ms |
1644 KB |
Output is correct |
44 |
Correct |
8 ms |
2028 KB |
Output is correct |
45 |
Correct |
7 ms |
1772 KB |
Output is correct |
46 |
Correct |
6 ms |
1472 KB |
Output is correct |
47 |
Correct |
11 ms |
2284 KB |
Output is correct |
48 |
Correct |
9 ms |
2156 KB |
Output is correct |
49 |
Correct |
12 ms |
2080 KB |
Output is correct |
50 |
Correct |
8 ms |
1900 KB |
Output is correct |
51 |
Correct |
8 ms |
1900 KB |
Output is correct |
52 |
Correct |
8 ms |
1900 KB |
Output is correct |
53 |
Correct |
6 ms |
1644 KB |
Output is correct |
54 |
Correct |
6 ms |
1644 KB |
Output is correct |
55 |
Correct |
7 ms |
1644 KB |
Output is correct |
56 |
Correct |
7 ms |
2028 KB |
Output is correct |
57 |
Correct |
741 ms |
155240 KB |
Output is correct |
58 |
Correct |
627 ms |
118956 KB |
Output is correct |
59 |
Correct |
1002 ms |
163712 KB |
Output is correct |
60 |
Correct |
568 ms |
98436 KB |
Output is correct |
61 |
Correct |
569 ms |
105452 KB |
Output is correct |
62 |
Correct |
618 ms |
116332 KB |
Output is correct |
63 |
Correct |
1091 ms |
177004 KB |
Output is correct |
64 |
Correct |
722 ms |
132744 KB |
Output is correct |
65 |
Correct |
995 ms |
178284 KB |
Output is correct |
66 |
Correct |
494 ms |
106620 KB |
Output is correct |
67 |
Correct |
995 ms |
150540 KB |
Output is correct |
68 |
Correct |
725 ms |
103536 KB |
Output is correct |
69 |
Correct |
891 ms |
139180 KB |
Output is correct |
70 |
Correct |
508 ms |
110736 KB |
Output is correct |
71 |
Correct |
1035 ms |
177132 KB |
Output is correct |
72 |
Correct |
598 ms |
111980 KB |
Output is correct |
73 |
Correct |
778 ms |
146412 KB |
Output is correct |
74 |
Correct |
524 ms |
90988 KB |
Output is correct |
75 |
Correct |
821 ms |
150124 KB |
Output is correct |
76 |
Correct |
566 ms |
104556 KB |
Output is correct |
77 |
Correct |
803 ms |
140120 KB |
Output is correct |
78 |
Correct |
536 ms |
99820 KB |
Output is correct |
79 |
Correct |
697 ms |
129388 KB |
Output is correct |
80 |
Correct |
915 ms |
161672 KB |
Output is correct |
81 |
Correct |
498 ms |
106476 KB |
Output is correct |
82 |
Correct |
697 ms |
134892 KB |
Output is correct |
83 |
Correct |
512 ms |
89836 KB |
Output is correct |
84 |
Correct |
537 ms |
97384 KB |
Output is correct |
85 |
Correct |
494 ms |
91188 KB |
Output is correct |
86 |
Correct |
869 ms |
161184 KB |
Output is correct |
87 |
Correct |
538 ms |
91624 KB |
Output is correct |
88 |
Correct |
989 ms |
161260 KB |
Output is correct |
89 |
Correct |
708 ms |
130412 KB |
Output is correct |
90 |
Correct |
638 ms |
118124 KB |
Output is correct |
91 |
Correct |
1386 ms |
189228 KB |
Output is correct |
92 |
Correct |
1022 ms |
179404 KB |
Output is correct |
93 |
Correct |
1227 ms |
184300 KB |
Output is correct |
94 |
Correct |
1211 ms |
184212 KB |
Output is correct |
95 |
Correct |
927 ms |
159212 KB |
Output is correct |
96 |
Correct |
687 ms |
124780 KB |
Output is correct |
97 |
Correct |
987 ms |
169840 KB |
Output is correct |
98 |
Correct |
781 ms |
112620 KB |
Output is correct |
99 |
Correct |
907 ms |
127080 KB |
Output is correct |
100 |
Correct |
874 ms |
122964 KB |
Output is correct |