#include <bits/stdc++.h>
using namespace std;
using lint = long long;
#define rep(i, n) for(int i = 0; i < int(n); i++)
#define rep2(i, l, n) for(int i = int(l); i < int(n); i++)
#define repr(i, n) for(int i = int(n) - 1; i >= 0; i--)
#define all(x) (x).begin(), (x).end()
inline int has(lint x, int k){ return (x >> k) & 1; };
int n;
lint a[30], b[30];
lint dp[20][1 << 16];
lint play(int at, int bit){
if(bit == (1 << n) - 1){
return 0;
}
if(dp[at][bit] != -1) return dp[at][bit];
lint ans = 1e18;
rep(to, n){
if(has(bit, to)) continue;
lint res = max(0ll, b[at] - a[to]);
res += play(to, bit | (1 << to));
ans = min(ans, res);
}
return dp[at][bit] = ans;
}
lint plan_roller_coaster(vector<int> s_in, vector<int> t_in){
n = int(s_in.size());
assert(n <= 16);
rep(i, n){
a[i] = s_in[i];
b[i] = t_in[i];
}
b[n] = 1;
memset(dp, -1, sizeof(dp));
return play(n, 0);
}
// int main(){
// vector<int> s{1, 4, 5, 6};
// vector<int> t{7, 3, 8, 6};
// cout << plan_roller_coaster(s, t) << endl;
// }
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
10472 KB |
n = 2 |
2 |
Correct |
7 ms |
10500 KB |
n = 2 |
3 |
Correct |
5 ms |
10452 KB |
n = 2 |
4 |
Correct |
4 ms |
10452 KB |
n = 2 |
5 |
Correct |
5 ms |
10544 KB |
n = 2 |
6 |
Correct |
6 ms |
10532 KB |
n = 2 |
7 |
Correct |
4 ms |
10452 KB |
n = 3 |
8 |
Correct |
7 ms |
10452 KB |
n = 3 |
9 |
Correct |
6 ms |
10452 KB |
n = 3 |
10 |
Correct |
7 ms |
10452 KB |
n = 8 |
11 |
Correct |
5 ms |
10452 KB |
n = 8 |
12 |
Correct |
8 ms |
10452 KB |
n = 8 |
13 |
Correct |
6 ms |
10452 KB |
n = 8 |
14 |
Correct |
6 ms |
10452 KB |
n = 8 |
15 |
Correct |
6 ms |
10452 KB |
n = 8 |
16 |
Correct |
7 ms |
10456 KB |
n = 8 |
17 |
Correct |
6 ms |
10452 KB |
n = 8 |
18 |
Correct |
5 ms |
10548 KB |
n = 8 |
19 |
Correct |
5 ms |
10548 KB |
n = 3 |
20 |
Correct |
6 ms |
10452 KB |
n = 7 |
21 |
Correct |
5 ms |
10452 KB |
n = 8 |
22 |
Correct |
6 ms |
10452 KB |
n = 8 |
23 |
Correct |
5 ms |
10452 KB |
n = 8 |
24 |
Correct |
5 ms |
10452 KB |
n = 8 |
25 |
Correct |
6 ms |
10444 KB |
n = 8 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
10472 KB |
n = 2 |
2 |
Correct |
7 ms |
10500 KB |
n = 2 |
3 |
Correct |
5 ms |
10452 KB |
n = 2 |
4 |
Correct |
4 ms |
10452 KB |
n = 2 |
5 |
Correct |
5 ms |
10544 KB |
n = 2 |
6 |
Correct |
6 ms |
10532 KB |
n = 2 |
7 |
Correct |
4 ms |
10452 KB |
n = 3 |
8 |
Correct |
7 ms |
10452 KB |
n = 3 |
9 |
Correct |
6 ms |
10452 KB |
n = 3 |
10 |
Correct |
7 ms |
10452 KB |
n = 8 |
11 |
Correct |
5 ms |
10452 KB |
n = 8 |
12 |
Correct |
8 ms |
10452 KB |
n = 8 |
13 |
Correct |
6 ms |
10452 KB |
n = 8 |
14 |
Correct |
6 ms |
10452 KB |
n = 8 |
15 |
Correct |
6 ms |
10452 KB |
n = 8 |
16 |
Correct |
7 ms |
10456 KB |
n = 8 |
17 |
Correct |
6 ms |
10452 KB |
n = 8 |
18 |
Correct |
5 ms |
10548 KB |
n = 8 |
19 |
Correct |
5 ms |
10548 KB |
n = 3 |
20 |
Correct |
6 ms |
10452 KB |
n = 7 |
21 |
Correct |
5 ms |
10452 KB |
n = 8 |
22 |
Correct |
6 ms |
10452 KB |
n = 8 |
23 |
Correct |
5 ms |
10452 KB |
n = 8 |
24 |
Correct |
5 ms |
10452 KB |
n = 8 |
25 |
Correct |
6 ms |
10444 KB |
n = 8 |
26 |
Correct |
7 ms |
10548 KB |
n = 8 |
27 |
Correct |
5 ms |
10452 KB |
n = 8 |
28 |
Correct |
5 ms |
10452 KB |
n = 8 |
29 |
Correct |
110 ms |
10452 KB |
n = 16 |
30 |
Correct |
79 ms |
10544 KB |
n = 16 |
31 |
Correct |
82 ms |
10452 KB |
n = 16 |
32 |
Correct |
70 ms |
10540 KB |
n = 16 |
33 |
Correct |
103 ms |
10540 KB |
n = 16 |
34 |
Correct |
70 ms |
10544 KB |
n = 16 |
35 |
Correct |
98 ms |
10552 KB |
n = 16 |
36 |
Correct |
27 ms |
10452 KB |
n = 15 |
37 |
Correct |
7 ms |
10452 KB |
n = 8 |
38 |
Correct |
85 ms |
10540 KB |
n = 16 |
39 |
Correct |
64 ms |
10556 KB |
n = 16 |
40 |
Correct |
6 ms |
10560 KB |
n = 9 |
41 |
Correct |
85 ms |
10452 KB |
n = 16 |
42 |
Correct |
82 ms |
10540 KB |
n = 16 |
43 |
Correct |
101 ms |
10568 KB |
n = 16 |
44 |
Correct |
7 ms |
10548 KB |
n = 9 |
45 |
Correct |
31 ms |
10536 KB |
n = 15 |
46 |
Correct |
99 ms |
10536 KB |
n = 16 |
47 |
Correct |
80 ms |
10544 KB |
n = 16 |
48 |
Correct |
103 ms |
10540 KB |
n = 16 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
69 ms |
10708 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
10472 KB |
n = 2 |
2 |
Correct |
7 ms |
10500 KB |
n = 2 |
3 |
Correct |
5 ms |
10452 KB |
n = 2 |
4 |
Correct |
4 ms |
10452 KB |
n = 2 |
5 |
Correct |
5 ms |
10544 KB |
n = 2 |
6 |
Correct |
6 ms |
10532 KB |
n = 2 |
7 |
Correct |
4 ms |
10452 KB |
n = 3 |
8 |
Correct |
7 ms |
10452 KB |
n = 3 |
9 |
Correct |
6 ms |
10452 KB |
n = 3 |
10 |
Correct |
7 ms |
10452 KB |
n = 8 |
11 |
Correct |
5 ms |
10452 KB |
n = 8 |
12 |
Correct |
8 ms |
10452 KB |
n = 8 |
13 |
Correct |
6 ms |
10452 KB |
n = 8 |
14 |
Correct |
6 ms |
10452 KB |
n = 8 |
15 |
Correct |
6 ms |
10452 KB |
n = 8 |
16 |
Correct |
7 ms |
10456 KB |
n = 8 |
17 |
Correct |
6 ms |
10452 KB |
n = 8 |
18 |
Correct |
5 ms |
10548 KB |
n = 8 |
19 |
Correct |
5 ms |
10548 KB |
n = 3 |
20 |
Correct |
6 ms |
10452 KB |
n = 7 |
21 |
Correct |
5 ms |
10452 KB |
n = 8 |
22 |
Correct |
6 ms |
10452 KB |
n = 8 |
23 |
Correct |
5 ms |
10452 KB |
n = 8 |
24 |
Correct |
5 ms |
10452 KB |
n = 8 |
25 |
Correct |
6 ms |
10444 KB |
n = 8 |
26 |
Correct |
7 ms |
10548 KB |
n = 8 |
27 |
Correct |
5 ms |
10452 KB |
n = 8 |
28 |
Correct |
5 ms |
10452 KB |
n = 8 |
29 |
Correct |
110 ms |
10452 KB |
n = 16 |
30 |
Correct |
79 ms |
10544 KB |
n = 16 |
31 |
Correct |
82 ms |
10452 KB |
n = 16 |
32 |
Correct |
70 ms |
10540 KB |
n = 16 |
33 |
Correct |
103 ms |
10540 KB |
n = 16 |
34 |
Correct |
70 ms |
10544 KB |
n = 16 |
35 |
Correct |
98 ms |
10552 KB |
n = 16 |
36 |
Correct |
27 ms |
10452 KB |
n = 15 |
37 |
Correct |
7 ms |
10452 KB |
n = 8 |
38 |
Correct |
85 ms |
10540 KB |
n = 16 |
39 |
Correct |
64 ms |
10556 KB |
n = 16 |
40 |
Correct |
6 ms |
10560 KB |
n = 9 |
41 |
Correct |
85 ms |
10452 KB |
n = 16 |
42 |
Correct |
82 ms |
10540 KB |
n = 16 |
43 |
Correct |
101 ms |
10568 KB |
n = 16 |
44 |
Correct |
7 ms |
10548 KB |
n = 9 |
45 |
Correct |
31 ms |
10536 KB |
n = 15 |
46 |
Correct |
99 ms |
10536 KB |
n = 16 |
47 |
Correct |
80 ms |
10544 KB |
n = 16 |
48 |
Correct |
103 ms |
10540 KB |
n = 16 |
49 |
Runtime error |
69 ms |
10708 KB |
Execution killed with signal 6 |
50 |
Halted |
0 ms |
0 KB |
- |