# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
996787 |
2024-06-11T08:16:27 Z |
siewjh |
Trains (BOI24_trains) |
C++17 |
|
164 ms |
131584 KB |
#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int MAXN = 100355;
int suff[350][MAXN], ans[MAXN];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int nums; cin >> nums;
vector<int> step(nums + 1), stop(nums + 1);
for (int i = 1; i <= nums; i++){
int amt; cin >> step[i] >> amt;
if (step[i] != 0){
amt = min(amt, (nums - i) / step[i]);
stop[i] = i + amt * step[i];
}
}
int bsz = 330;
for (int i = nums; i >= 1; i--){
ans[i] = 1;
int ssz = step[i];
if (ssz > bsz){
for (int x = stop[i]; x > i; x -= ssz) ans[i] = (ans[i] + ans[x]) % mod;
}
else if (ssz != 0){
ans[i] = (ans[i] + suff[ssz][i + ssz] - suff[ssz][stop[i] + ssz] + mod) % mod;
}
for (int x = 1; x <= bsz; x++) suff[x][i] = (suff[x][i + x] + ans[i]) % mod;
}
cout << ans[1];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
1880 KB |
Output is correct |
2 |
Correct |
1 ms |
1884 KB |
Output is correct |
3 |
Correct |
1 ms |
1884 KB |
Output is correct |
4 |
Correct |
1 ms |
1884 KB |
Output is correct |
5 |
Correct |
1 ms |
1884 KB |
Output is correct |
6 |
Correct |
1 ms |
1884 KB |
Output is correct |
7 |
Correct |
1 ms |
1884 KB |
Output is correct |
8 |
Correct |
1 ms |
1884 KB |
Output is correct |
9 |
Correct |
3 ms |
1884 KB |
Output is correct |
10 |
Correct |
1 ms |
1884 KB |
Output is correct |
11 |
Correct |
1 ms |
1880 KB |
Output is correct |
12 |
Correct |
2 ms |
1884 KB |
Output is correct |
13 |
Correct |
1 ms |
1884 KB |
Output is correct |
14 |
Correct |
1 ms |
1884 KB |
Output is correct |
15 |
Correct |
1 ms |
1896 KB |
Output is correct |
16 |
Correct |
1 ms |
1880 KB |
Output is correct |
17 |
Correct |
2 ms |
1884 KB |
Output is correct |
18 |
Correct |
1 ms |
1884 KB |
Output is correct |
19 |
Correct |
2 ms |
1880 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
1880 KB |
Output is correct |
2 |
Correct |
1 ms |
1884 KB |
Output is correct |
3 |
Correct |
1 ms |
1884 KB |
Output is correct |
4 |
Correct |
1 ms |
1884 KB |
Output is correct |
5 |
Correct |
1 ms |
1884 KB |
Output is correct |
6 |
Correct |
1 ms |
1884 KB |
Output is correct |
7 |
Correct |
1 ms |
1884 KB |
Output is correct |
8 |
Correct |
1 ms |
1884 KB |
Output is correct |
9 |
Correct |
3 ms |
1884 KB |
Output is correct |
10 |
Correct |
1 ms |
1884 KB |
Output is correct |
11 |
Correct |
1 ms |
1880 KB |
Output is correct |
12 |
Correct |
2 ms |
1884 KB |
Output is correct |
13 |
Correct |
1 ms |
1884 KB |
Output is correct |
14 |
Correct |
1 ms |
1884 KB |
Output is correct |
15 |
Correct |
1 ms |
1896 KB |
Output is correct |
16 |
Correct |
1 ms |
1880 KB |
Output is correct |
17 |
Correct |
2 ms |
1884 KB |
Output is correct |
18 |
Correct |
1 ms |
1884 KB |
Output is correct |
19 |
Correct |
2 ms |
1880 KB |
Output is correct |
20 |
Correct |
13 ms |
12636 KB |
Output is correct |
21 |
Correct |
5 ms |
5724 KB |
Output is correct |
22 |
Correct |
14 ms |
14920 KB |
Output is correct |
23 |
Correct |
10 ms |
10224 KB |
Output is correct |
24 |
Correct |
6 ms |
7260 KB |
Output is correct |
25 |
Correct |
11 ms |
13464 KB |
Output is correct |
26 |
Correct |
7 ms |
7772 KB |
Output is correct |
27 |
Correct |
12 ms |
12996 KB |
Output is correct |
28 |
Correct |
13 ms |
14940 KB |
Output is correct |
29 |
Correct |
14 ms |
14924 KB |
Output is correct |
30 |
Correct |
14 ms |
14936 KB |
Output is correct |
31 |
Correct |
18 ms |
14928 KB |
Output is correct |
32 |
Correct |
14 ms |
14940 KB |
Output is correct |
33 |
Correct |
18 ms |
14800 KB |
Output is correct |
34 |
Correct |
13 ms |
14936 KB |
Output is correct |
35 |
Correct |
14 ms |
14868 KB |
Output is correct |
36 |
Correct |
15 ms |
14940 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
1884 KB |
Output is correct |
2 |
Correct |
10 ms |
10264 KB |
Output is correct |
3 |
Correct |
8 ms |
7772 KB |
Output is correct |
4 |
Correct |
12 ms |
12952 KB |
Output is correct |
5 |
Correct |
88 ms |
103084 KB |
Output is correct |
6 |
Correct |
120 ms |
131408 KB |
Output is correct |
7 |
Correct |
123 ms |
131412 KB |
Output is correct |
8 |
Correct |
2 ms |
1884 KB |
Output is correct |
9 |
Correct |
1 ms |
1884 KB |
Output is correct |
10 |
Correct |
1 ms |
1884 KB |
Output is correct |
11 |
Correct |
15 ms |
14940 KB |
Output is correct |
12 |
Correct |
124 ms |
131408 KB |
Output is correct |
13 |
Correct |
1 ms |
1880 KB |
Output is correct |
14 |
Correct |
13 ms |
14792 KB |
Output is correct |
15 |
Correct |
127 ms |
131416 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
62 ms |
65876 KB |
Output is correct |
2 |
Correct |
47 ms |
53840 KB |
Output is correct |
3 |
Correct |
158 ms |
131548 KB |
Output is correct |
4 |
Correct |
89 ms |
95824 KB |
Output is correct |
5 |
Correct |
1 ms |
1880 KB |
Output is correct |
6 |
Correct |
1 ms |
1880 KB |
Output is correct |
7 |
Correct |
14 ms |
14940 KB |
Output is correct |
8 |
Correct |
125 ms |
131412 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
1880 KB |
Output is correct |
2 |
Correct |
1 ms |
1884 KB |
Output is correct |
3 |
Correct |
1 ms |
1884 KB |
Output is correct |
4 |
Correct |
1 ms |
1884 KB |
Output is correct |
5 |
Correct |
1 ms |
1884 KB |
Output is correct |
6 |
Correct |
1 ms |
1884 KB |
Output is correct |
7 |
Correct |
1 ms |
1884 KB |
Output is correct |
8 |
Correct |
1 ms |
1884 KB |
Output is correct |
9 |
Correct |
3 ms |
1884 KB |
Output is correct |
10 |
Correct |
1 ms |
1884 KB |
Output is correct |
11 |
Correct |
1 ms |
1880 KB |
Output is correct |
12 |
Correct |
2 ms |
1884 KB |
Output is correct |
13 |
Correct |
1 ms |
1884 KB |
Output is correct |
14 |
Correct |
1 ms |
1884 KB |
Output is correct |
15 |
Correct |
1 ms |
1896 KB |
Output is correct |
16 |
Correct |
1 ms |
1880 KB |
Output is correct |
17 |
Correct |
2 ms |
1884 KB |
Output is correct |
18 |
Correct |
1 ms |
1884 KB |
Output is correct |
19 |
Correct |
2 ms |
1880 KB |
Output is correct |
20 |
Correct |
13 ms |
12636 KB |
Output is correct |
21 |
Correct |
5 ms |
5724 KB |
Output is correct |
22 |
Correct |
14 ms |
14920 KB |
Output is correct |
23 |
Correct |
10 ms |
10224 KB |
Output is correct |
24 |
Correct |
6 ms |
7260 KB |
Output is correct |
25 |
Correct |
11 ms |
13464 KB |
Output is correct |
26 |
Correct |
7 ms |
7772 KB |
Output is correct |
27 |
Correct |
12 ms |
12996 KB |
Output is correct |
28 |
Correct |
13 ms |
14940 KB |
Output is correct |
29 |
Correct |
14 ms |
14924 KB |
Output is correct |
30 |
Correct |
14 ms |
14936 KB |
Output is correct |
31 |
Correct |
18 ms |
14928 KB |
Output is correct |
32 |
Correct |
14 ms |
14940 KB |
Output is correct |
33 |
Correct |
18 ms |
14800 KB |
Output is correct |
34 |
Correct |
13 ms |
14936 KB |
Output is correct |
35 |
Correct |
14 ms |
14868 KB |
Output is correct |
36 |
Correct |
15 ms |
14940 KB |
Output is correct |
37 |
Correct |
2 ms |
1884 KB |
Output is correct |
38 |
Correct |
10 ms |
10264 KB |
Output is correct |
39 |
Correct |
8 ms |
7772 KB |
Output is correct |
40 |
Correct |
12 ms |
12952 KB |
Output is correct |
41 |
Correct |
88 ms |
103084 KB |
Output is correct |
42 |
Correct |
120 ms |
131408 KB |
Output is correct |
43 |
Correct |
123 ms |
131412 KB |
Output is correct |
44 |
Correct |
2 ms |
1884 KB |
Output is correct |
45 |
Correct |
1 ms |
1884 KB |
Output is correct |
46 |
Correct |
1 ms |
1884 KB |
Output is correct |
47 |
Correct |
15 ms |
14940 KB |
Output is correct |
48 |
Correct |
124 ms |
131408 KB |
Output is correct |
49 |
Correct |
1 ms |
1880 KB |
Output is correct |
50 |
Correct |
13 ms |
14792 KB |
Output is correct |
51 |
Correct |
127 ms |
131416 KB |
Output is correct |
52 |
Correct |
62 ms |
65876 KB |
Output is correct |
53 |
Correct |
47 ms |
53840 KB |
Output is correct |
54 |
Correct |
158 ms |
131548 KB |
Output is correct |
55 |
Correct |
89 ms |
95824 KB |
Output is correct |
56 |
Correct |
1 ms |
1880 KB |
Output is correct |
57 |
Correct |
1 ms |
1880 KB |
Output is correct |
58 |
Correct |
14 ms |
14940 KB |
Output is correct |
59 |
Correct |
125 ms |
131412 KB |
Output is correct |
60 |
Correct |
103 ms |
110932 KB |
Output is correct |
61 |
Correct |
124 ms |
131424 KB |
Output is correct |
62 |
Correct |
141 ms |
131408 KB |
Output is correct |
63 |
Correct |
120 ms |
131408 KB |
Output is correct |
64 |
Correct |
122 ms |
131392 KB |
Output is correct |
65 |
Correct |
164 ms |
131492 KB |
Output is correct |
66 |
Correct |
120 ms |
131412 KB |
Output is correct |
67 |
Correct |
137 ms |
131408 KB |
Output is correct |
68 |
Correct |
125 ms |
131408 KB |
Output is correct |
69 |
Correct |
129 ms |
131564 KB |
Output is correct |
70 |
Correct |
128 ms |
131584 KB |
Output is correct |
71 |
Correct |
120 ms |
131404 KB |
Output is correct |
72 |
Correct |
121 ms |
131408 KB |
Output is correct |