# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
962496 | 2024-04-13T17:18:17 Z | ErJ | Roller Coaster Railroad (IOI16_railroad) | C++17 | 63 ms | 17112 KB |
#include <bits/stdc++.h> using namespace std; #define ll long long #define vi vector<ll> #define pp pair<ll, ll> #define inf 1000000000000000000 #define vvi vector<vi> #define vp vector<pp> #define vvp vector<vp> #define rep(i, n) for(int i = 0; i < n; i++) #define mod 1000000007 vvi dp; vi s, t; void find(ll a, ll b) { ll n = s.size(); ll akt = a; ll ak2 = 1; ll bx = pow(2, b); for (int i = 0; i < n; i++) { if ((akt % 2 == 1) && (i != b)) { dp[a][b] = min(dp[a][b], dp[a - bx][i] + max((ll) 0, t[i] - s[b])); } akt /= 2; } } ll plan_roller_coaster(vector<int> s1, vector<int> t1) { dp.clear(); s.clear(); t.clear(); ll n = s1.size(); s.resize(n); t.resize(n); rep(i, n) { s[i] = s1[i]; t[i] = t1[i]; } dp.resize(pow(2, n)); rep(i, dp.size()) { dp[i].resize(n); rep(j, n) { dp[i][j] = inf; } } rep(j, dp[0].size()) { dp[pow(2, j)][j] = 0; } rep(i, dp.size()) { ll akt = i; rep(j, n) { if (dp[i][j] == inf && (akt % 2 == 1)) { find(i, j); } akt /= 2; } } ll ans = inf; rep(i, dp[dp.size() - 1].size()) { ans = min(ans, dp[dp.size() - 1][i]); } return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 2 |
2 | Correct | 0 ms | 344 KB | n = 2 |
3 | Correct | 1 ms | 348 KB | n = 2 |
4 | Correct | 0 ms | 348 KB | n = 2 |
5 | Correct | 1 ms | 348 KB | n = 2 |
6 | Correct | 0 ms | 348 KB | n = 2 |
7 | Correct | 0 ms | 348 KB | n = 3 |
8 | Correct | 1 ms | 348 KB | n = 3 |
9 | Correct | 1 ms | 348 KB | n = 3 |
10 | Correct | 0 ms | 348 KB | n = 8 |
11 | Correct | 1 ms | 348 KB | n = 8 |
12 | Correct | 1 ms | 348 KB | n = 8 |
13 | Correct | 1 ms | 432 KB | n = 8 |
14 | Correct | 1 ms | 348 KB | n = 8 |
15 | Correct | 1 ms | 348 KB | n = 8 |
16 | Correct | 1 ms | 344 KB | n = 8 |
17 | Correct | 0 ms | 348 KB | n = 8 |
18 | Correct | 0 ms | 348 KB | n = 8 |
19 | Correct | 1 ms | 504 KB | n = 3 |
20 | Correct | 1 ms | 436 KB | n = 7 |
21 | Correct | 0 ms | 348 KB | n = 8 |
22 | Correct | 0 ms | 348 KB | n = 8 |
23 | Correct | 0 ms | 348 KB | n = 8 |
24 | Correct | 1 ms | 348 KB | n = 8 |
25 | Correct | 1 ms | 344 KB | n = 8 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 2 |
2 | Correct | 0 ms | 344 KB | n = 2 |
3 | Correct | 1 ms | 348 KB | n = 2 |
4 | Correct | 0 ms | 348 KB | n = 2 |
5 | Correct | 1 ms | 348 KB | n = 2 |
6 | Correct | 0 ms | 348 KB | n = 2 |
7 | Correct | 0 ms | 348 KB | n = 3 |
8 | Correct | 1 ms | 348 KB | n = 3 |
9 | Correct | 1 ms | 348 KB | n = 3 |
10 | Correct | 0 ms | 348 KB | n = 8 |
11 | Correct | 1 ms | 348 KB | n = 8 |
12 | Correct | 1 ms | 348 KB | n = 8 |
13 | Correct | 1 ms | 432 KB | n = 8 |
14 | Correct | 1 ms | 348 KB | n = 8 |
15 | Correct | 1 ms | 348 KB | n = 8 |
16 | Correct | 1 ms | 344 KB | n = 8 |
17 | Correct | 0 ms | 348 KB | n = 8 |
18 | Correct | 0 ms | 348 KB | n = 8 |
19 | Correct | 1 ms | 504 KB | n = 3 |
20 | Correct | 1 ms | 436 KB | n = 7 |
21 | Correct | 0 ms | 348 KB | n = 8 |
22 | Correct | 0 ms | 348 KB | n = 8 |
23 | Correct | 0 ms | 348 KB | n = 8 |
24 | Correct | 1 ms | 348 KB | n = 8 |
25 | Correct | 1 ms | 344 KB | n = 8 |
26 | Correct | 1 ms | 604 KB | n = 8 |
27 | Correct | 0 ms | 348 KB | n = 8 |
28 | Correct | 1 ms | 348 KB | n = 8 |
29 | Correct | 59 ms | 10996 KB | n = 16 |
30 | Correct | 62 ms | 11204 KB | n = 16 |
31 | Correct | 52 ms | 11096 KB | n = 16 |
32 | Correct | 57 ms | 11096 KB | n = 16 |
33 | Correct | 54 ms | 11200 KB | n = 16 |
34 | Correct | 53 ms | 11096 KB | n = 16 |
35 | Correct | 52 ms | 11176 KB | n = 16 |
36 | Correct | 26 ms | 5328 KB | n = 15 |
37 | Correct | 1 ms | 344 KB | n = 8 |
38 | Correct | 57 ms | 11100 KB | n = 16 |
39 | Correct | 55 ms | 11200 KB | n = 16 |
40 | Correct | 1 ms | 344 KB | n = 9 |
41 | Correct | 63 ms | 11200 KB | n = 16 |
42 | Correct | 56 ms | 11100 KB | n = 16 |
43 | Correct | 52 ms | 11100 KB | n = 16 |
44 | Correct | 1 ms | 344 KB | n = 9 |
45 | Correct | 25 ms | 5212 KB | n = 15 |
46 | Correct | 52 ms | 11100 KB | n = 16 |
47 | Correct | 54 ms | 11204 KB | n = 16 |
48 | Correct | 52 ms | 11196 KB | n = 16 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 52 ms | 17112 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 2 |
2 | Correct | 0 ms | 344 KB | n = 2 |
3 | Correct | 1 ms | 348 KB | n = 2 |
4 | Correct | 0 ms | 348 KB | n = 2 |
5 | Correct | 1 ms | 348 KB | n = 2 |
6 | Correct | 0 ms | 348 KB | n = 2 |
7 | Correct | 0 ms | 348 KB | n = 3 |
8 | Correct | 1 ms | 348 KB | n = 3 |
9 | Correct | 1 ms | 348 KB | n = 3 |
10 | Correct | 0 ms | 348 KB | n = 8 |
11 | Correct | 1 ms | 348 KB | n = 8 |
12 | Correct | 1 ms | 348 KB | n = 8 |
13 | Correct | 1 ms | 432 KB | n = 8 |
14 | Correct | 1 ms | 348 KB | n = 8 |
15 | Correct | 1 ms | 348 KB | n = 8 |
16 | Correct | 1 ms | 344 KB | n = 8 |
17 | Correct | 0 ms | 348 KB | n = 8 |
18 | Correct | 0 ms | 348 KB | n = 8 |
19 | Correct | 1 ms | 504 KB | n = 3 |
20 | Correct | 1 ms | 436 KB | n = 7 |
21 | Correct | 0 ms | 348 KB | n = 8 |
22 | Correct | 0 ms | 348 KB | n = 8 |
23 | Correct | 0 ms | 348 KB | n = 8 |
24 | Correct | 1 ms | 348 KB | n = 8 |
25 | Correct | 1 ms | 344 KB | n = 8 |
26 | Correct | 1 ms | 604 KB | n = 8 |
27 | Correct | 0 ms | 348 KB | n = 8 |
28 | Correct | 1 ms | 348 KB | n = 8 |
29 | Correct | 59 ms | 10996 KB | n = 16 |
30 | Correct | 62 ms | 11204 KB | n = 16 |
31 | Correct | 52 ms | 11096 KB | n = 16 |
32 | Correct | 57 ms | 11096 KB | n = 16 |
33 | Correct | 54 ms | 11200 KB | n = 16 |
34 | Correct | 53 ms | 11096 KB | n = 16 |
35 | Correct | 52 ms | 11176 KB | n = 16 |
36 | Correct | 26 ms | 5328 KB | n = 15 |
37 | Correct | 1 ms | 344 KB | n = 8 |
38 | Correct | 57 ms | 11100 KB | n = 16 |
39 | Correct | 55 ms | 11200 KB | n = 16 |
40 | Correct | 1 ms | 344 KB | n = 9 |
41 | Correct | 63 ms | 11200 KB | n = 16 |
42 | Correct | 56 ms | 11100 KB | n = 16 |
43 | Correct | 52 ms | 11100 KB | n = 16 |
44 | Correct | 1 ms | 344 KB | n = 9 |
45 | Correct | 25 ms | 5212 KB | n = 15 |
46 | Correct | 52 ms | 11100 KB | n = 16 |
47 | Correct | 54 ms | 11204 KB | n = 16 |
48 | Correct | 52 ms | 11196 KB | n = 16 |
49 | Runtime error | 52 ms | 17112 KB | Execution killed with signal 11 |
50 | Halted | 0 ms | 0 KB | - |