#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 7;
const int M = (1 << 16) + 7;
const long long inf = 1e18 + 7;
pair<long long, bool> dp[M][19];
int n;
pair<int, int> p[N];
long long solve(int state, int pr = 17){
if(dp[state][pr].second){
return dp[state][pr].first;
}
if(state == (1 << n) - 1){
return 0;
}
dp[state][pr].second = true;
dp[state][pr].first = inf;
long long curr;
if(pr == 17){
curr = 1;
}
else{
curr = p[pr].second;
}
for(int i = 0; i < n; i++){
if((1 << i) & state){
continue;
}
dp[state][pr].first = min(dp[state][pr].first, solve(state | (1 << i), i) + max(curr - p[i].first, 0ll));
}
return dp[state][pr].first;
}
long long plan_roller_coaster(vector<int> s, vector<int> t){
n = (int)s.size();
for(int i = 0; i < n; i++){
p[i] = {s[i], t[i]};
}
return solve(0);
}
/*int main(){
int nn;
cin >> nn;
vector<int> s, t;
for(int i = 0; i < nn; i++){
int x, y;
cin >> x >> y;
s.push_back(x);
t.push_back(y);
}
cout << plan_roller_coaster(s, t) << endl;
return 0;
}*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
376 KB |
n = 2 |
2 |
Correct |
2 ms |
376 KB |
n = 2 |
3 |
Correct |
2 ms |
256 KB |
n = 2 |
4 |
Correct |
2 ms |
376 KB |
n = 2 |
5 |
Correct |
2 ms |
376 KB |
n = 2 |
6 |
Correct |
2 ms |
376 KB |
n = 2 |
7 |
Correct |
2 ms |
376 KB |
n = 3 |
8 |
Correct |
2 ms |
376 KB |
n = 3 |
9 |
Correct |
2 ms |
376 KB |
n = 3 |
10 |
Correct |
2 ms |
376 KB |
n = 8 |
11 |
Correct |
2 ms |
376 KB |
n = 8 |
12 |
Correct |
3 ms |
376 KB |
n = 8 |
13 |
Correct |
2 ms |
376 KB |
n = 8 |
14 |
Correct |
2 ms |
376 KB |
n = 8 |
15 |
Correct |
2 ms |
376 KB |
n = 8 |
16 |
Correct |
2 ms |
376 KB |
n = 8 |
17 |
Correct |
2 ms |
376 KB |
n = 8 |
18 |
Correct |
2 ms |
376 KB |
n = 8 |
19 |
Correct |
2 ms |
376 KB |
n = 3 |
20 |
Correct |
2 ms |
376 KB |
n = 7 |
21 |
Correct |
2 ms |
376 KB |
n = 8 |
22 |
Correct |
2 ms |
376 KB |
n = 8 |
23 |
Correct |
2 ms |
376 KB |
n = 8 |
24 |
Correct |
2 ms |
376 KB |
n = 8 |
25 |
Correct |
2 ms |
380 KB |
n = 8 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
376 KB |
n = 2 |
2 |
Correct |
2 ms |
376 KB |
n = 2 |
3 |
Correct |
2 ms |
256 KB |
n = 2 |
4 |
Correct |
2 ms |
376 KB |
n = 2 |
5 |
Correct |
2 ms |
376 KB |
n = 2 |
6 |
Correct |
2 ms |
376 KB |
n = 2 |
7 |
Correct |
2 ms |
376 KB |
n = 3 |
8 |
Correct |
2 ms |
376 KB |
n = 3 |
9 |
Correct |
2 ms |
376 KB |
n = 3 |
10 |
Correct |
2 ms |
376 KB |
n = 8 |
11 |
Correct |
2 ms |
376 KB |
n = 8 |
12 |
Correct |
3 ms |
376 KB |
n = 8 |
13 |
Correct |
2 ms |
376 KB |
n = 8 |
14 |
Correct |
2 ms |
376 KB |
n = 8 |
15 |
Correct |
2 ms |
376 KB |
n = 8 |
16 |
Correct |
2 ms |
376 KB |
n = 8 |
17 |
Correct |
2 ms |
376 KB |
n = 8 |
18 |
Correct |
2 ms |
376 KB |
n = 8 |
19 |
Correct |
2 ms |
376 KB |
n = 3 |
20 |
Correct |
2 ms |
376 KB |
n = 7 |
21 |
Correct |
2 ms |
376 KB |
n = 8 |
22 |
Correct |
2 ms |
376 KB |
n = 8 |
23 |
Correct |
2 ms |
376 KB |
n = 8 |
24 |
Correct |
2 ms |
376 KB |
n = 8 |
25 |
Correct |
2 ms |
380 KB |
n = 8 |
26 |
Correct |
2 ms |
376 KB |
n = 8 |
27 |
Correct |
2 ms |
380 KB |
n = 8 |
28 |
Correct |
2 ms |
376 KB |
n = 8 |
29 |
Correct |
109 ms |
19868 KB |
n = 16 |
30 |
Correct |
110 ms |
19896 KB |
n = 16 |
31 |
Correct |
113 ms |
19832 KB |
n = 16 |
32 |
Correct |
108 ms |
19864 KB |
n = 16 |
33 |
Correct |
104 ms |
19832 KB |
n = 16 |
34 |
Correct |
106 ms |
19832 KB |
n = 16 |
35 |
Correct |
110 ms |
19832 KB |
n = 16 |
36 |
Correct |
49 ms |
10104 KB |
n = 15 |
37 |
Correct |
2 ms |
376 KB |
n = 8 |
38 |
Correct |
107 ms |
19832 KB |
n = 16 |
39 |
Correct |
113 ms |
19860 KB |
n = 16 |
40 |
Correct |
2 ms |
504 KB |
n = 9 |
41 |
Correct |
113 ms |
19832 KB |
n = 16 |
42 |
Correct |
108 ms |
19832 KB |
n = 16 |
43 |
Correct |
107 ms |
19832 KB |
n = 16 |
44 |
Correct |
3 ms |
504 KB |
n = 9 |
45 |
Correct |
46 ms |
10104 KB |
n = 15 |
46 |
Correct |
108 ms |
19832 KB |
n = 16 |
47 |
Correct |
109 ms |
19960 KB |
n = 16 |
48 |
Correct |
108 ms |
19960 KB |
n = 16 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
82 ms |
10104 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
376 KB |
n = 2 |
2 |
Correct |
2 ms |
376 KB |
n = 2 |
3 |
Correct |
2 ms |
256 KB |
n = 2 |
4 |
Correct |
2 ms |
376 KB |
n = 2 |
5 |
Correct |
2 ms |
376 KB |
n = 2 |
6 |
Correct |
2 ms |
376 KB |
n = 2 |
7 |
Correct |
2 ms |
376 KB |
n = 3 |
8 |
Correct |
2 ms |
376 KB |
n = 3 |
9 |
Correct |
2 ms |
376 KB |
n = 3 |
10 |
Correct |
2 ms |
376 KB |
n = 8 |
11 |
Correct |
2 ms |
376 KB |
n = 8 |
12 |
Correct |
3 ms |
376 KB |
n = 8 |
13 |
Correct |
2 ms |
376 KB |
n = 8 |
14 |
Correct |
2 ms |
376 KB |
n = 8 |
15 |
Correct |
2 ms |
376 KB |
n = 8 |
16 |
Correct |
2 ms |
376 KB |
n = 8 |
17 |
Correct |
2 ms |
376 KB |
n = 8 |
18 |
Correct |
2 ms |
376 KB |
n = 8 |
19 |
Correct |
2 ms |
376 KB |
n = 3 |
20 |
Correct |
2 ms |
376 KB |
n = 7 |
21 |
Correct |
2 ms |
376 KB |
n = 8 |
22 |
Correct |
2 ms |
376 KB |
n = 8 |
23 |
Correct |
2 ms |
376 KB |
n = 8 |
24 |
Correct |
2 ms |
376 KB |
n = 8 |
25 |
Correct |
2 ms |
380 KB |
n = 8 |
26 |
Correct |
2 ms |
376 KB |
n = 8 |
27 |
Correct |
2 ms |
380 KB |
n = 8 |
28 |
Correct |
2 ms |
376 KB |
n = 8 |
29 |
Correct |
109 ms |
19868 KB |
n = 16 |
30 |
Correct |
110 ms |
19896 KB |
n = 16 |
31 |
Correct |
113 ms |
19832 KB |
n = 16 |
32 |
Correct |
108 ms |
19864 KB |
n = 16 |
33 |
Correct |
104 ms |
19832 KB |
n = 16 |
34 |
Correct |
106 ms |
19832 KB |
n = 16 |
35 |
Correct |
110 ms |
19832 KB |
n = 16 |
36 |
Correct |
49 ms |
10104 KB |
n = 15 |
37 |
Correct |
2 ms |
376 KB |
n = 8 |
38 |
Correct |
107 ms |
19832 KB |
n = 16 |
39 |
Correct |
113 ms |
19860 KB |
n = 16 |
40 |
Correct |
2 ms |
504 KB |
n = 9 |
41 |
Correct |
113 ms |
19832 KB |
n = 16 |
42 |
Correct |
108 ms |
19832 KB |
n = 16 |
43 |
Correct |
107 ms |
19832 KB |
n = 16 |
44 |
Correct |
3 ms |
504 KB |
n = 9 |
45 |
Correct |
46 ms |
10104 KB |
n = 15 |
46 |
Correct |
108 ms |
19832 KB |
n = 16 |
47 |
Correct |
109 ms |
19960 KB |
n = 16 |
48 |
Correct |
108 ms |
19960 KB |
n = 16 |
49 |
Runtime error |
82 ms |
10104 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
50 |
Halted |
0 ms |
0 KB |
- |