#include "railroad.h"
#include <vector>
#include <algorithm>
#include <iostream>
#include <unordered_map>
#include <climits>
#include <bitset>
#define pb push_back
using namespace std;
#define ll long long
vector<int>S;
vector<int>T;
vector<vector<ll>> dp((1<<18),vector<ll>(18,1e16));
int calc_cost(int i,int j){
return max(T[i]-S[j],0);
}
long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) {
int n = (int) s.size();
S = s;T = t;
for(int i=0;i<n;i++){
dp[(1<<i)][i] = 0;
}
for(int i=0;i<(1<<n);i++){
for(int j=0;j<n;j++){
if((i&(1<<j)) == 0){
for(int k=0;k<n;k++){
if((i&(1<<k)) != 0){
// bitset<8> x(i);
// cout << x << " add " << j << " through k " << k << endl;
dp[i|(1<<j)][j] = min(dp[i|(1<<j)][j],dp[i][k]+calc_cost(k,j));
}
}
}
}
}
ll ans = LLONG_MAX;
for(int i=0;i<n;i++){
ans = min(ans,dp[(1<<n)-1][i]);
}
return ans;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
26 ms |
47444 KB |
n = 2 |
2 |
Correct |
26 ms |
47376 KB |
n = 2 |
3 |
Correct |
26 ms |
47440 KB |
n = 2 |
4 |
Correct |
25 ms |
47444 KB |
n = 2 |
5 |
Correct |
25 ms |
47396 KB |
n = 2 |
6 |
Correct |
27 ms |
47444 KB |
n = 2 |
7 |
Correct |
26 ms |
47400 KB |
n = 3 |
8 |
Correct |
26 ms |
47392 KB |
n = 3 |
9 |
Correct |
27 ms |
47420 KB |
n = 3 |
10 |
Correct |
27 ms |
47452 KB |
n = 8 |
11 |
Correct |
32 ms |
47444 KB |
n = 8 |
12 |
Correct |
30 ms |
47456 KB |
n = 8 |
13 |
Correct |
27 ms |
47448 KB |
n = 8 |
14 |
Correct |
27 ms |
47424 KB |
n = 8 |
15 |
Correct |
31 ms |
47464 KB |
n = 8 |
16 |
Correct |
27 ms |
47452 KB |
n = 8 |
17 |
Correct |
27 ms |
47492 KB |
n = 8 |
18 |
Correct |
27 ms |
47444 KB |
n = 8 |
19 |
Correct |
26 ms |
47496 KB |
n = 3 |
20 |
Correct |
32 ms |
47484 KB |
n = 7 |
21 |
Correct |
26 ms |
47508 KB |
n = 8 |
22 |
Correct |
27 ms |
47480 KB |
n = 8 |
23 |
Correct |
27 ms |
47496 KB |
n = 8 |
24 |
Correct |
25 ms |
47444 KB |
n = 8 |
25 |
Correct |
27 ms |
47468 KB |
n = 8 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
26 ms |
47444 KB |
n = 2 |
2 |
Correct |
26 ms |
47376 KB |
n = 2 |
3 |
Correct |
26 ms |
47440 KB |
n = 2 |
4 |
Correct |
25 ms |
47444 KB |
n = 2 |
5 |
Correct |
25 ms |
47396 KB |
n = 2 |
6 |
Correct |
27 ms |
47444 KB |
n = 2 |
7 |
Correct |
26 ms |
47400 KB |
n = 3 |
8 |
Correct |
26 ms |
47392 KB |
n = 3 |
9 |
Correct |
27 ms |
47420 KB |
n = 3 |
10 |
Correct |
27 ms |
47452 KB |
n = 8 |
11 |
Correct |
32 ms |
47444 KB |
n = 8 |
12 |
Correct |
30 ms |
47456 KB |
n = 8 |
13 |
Correct |
27 ms |
47448 KB |
n = 8 |
14 |
Correct |
27 ms |
47424 KB |
n = 8 |
15 |
Correct |
31 ms |
47464 KB |
n = 8 |
16 |
Correct |
27 ms |
47452 KB |
n = 8 |
17 |
Correct |
27 ms |
47492 KB |
n = 8 |
18 |
Correct |
27 ms |
47444 KB |
n = 8 |
19 |
Correct |
26 ms |
47496 KB |
n = 3 |
20 |
Correct |
32 ms |
47484 KB |
n = 7 |
21 |
Correct |
26 ms |
47508 KB |
n = 8 |
22 |
Correct |
27 ms |
47480 KB |
n = 8 |
23 |
Correct |
27 ms |
47496 KB |
n = 8 |
24 |
Correct |
25 ms |
47444 KB |
n = 8 |
25 |
Correct |
27 ms |
47468 KB |
n = 8 |
26 |
Correct |
26 ms |
47388 KB |
n = 8 |
27 |
Correct |
25 ms |
47460 KB |
n = 8 |
28 |
Correct |
26 ms |
47444 KB |
n = 8 |
29 |
Correct |
53 ms |
47444 KB |
n = 16 |
30 |
Correct |
53 ms |
47416 KB |
n = 16 |
31 |
Correct |
53 ms |
47492 KB |
n = 16 |
32 |
Correct |
52 ms |
47496 KB |
n = 16 |
33 |
Correct |
53 ms |
47488 KB |
n = 16 |
34 |
Correct |
52 ms |
47484 KB |
n = 16 |
35 |
Correct |
57 ms |
47488 KB |
n = 16 |
36 |
Correct |
45 ms |
47488 KB |
n = 15 |
37 |
Correct |
27 ms |
47444 KB |
n = 8 |
38 |
Correct |
53 ms |
47444 KB |
n = 16 |
39 |
Correct |
53 ms |
47444 KB |
n = 16 |
40 |
Correct |
26 ms |
47488 KB |
n = 9 |
41 |
Correct |
53 ms |
47456 KB |
n = 16 |
42 |
Correct |
53 ms |
47444 KB |
n = 16 |
43 |
Correct |
54 ms |
47444 KB |
n = 16 |
44 |
Correct |
26 ms |
47516 KB |
n = 9 |
45 |
Correct |
38 ms |
47512 KB |
n = 15 |
46 |
Correct |
53 ms |
47432 KB |
n = 16 |
47 |
Correct |
53 ms |
47496 KB |
n = 16 |
48 |
Correct |
54 ms |
47492 KB |
n = 16 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
98 ms |
105636 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
26 ms |
47444 KB |
n = 2 |
2 |
Correct |
26 ms |
47376 KB |
n = 2 |
3 |
Correct |
26 ms |
47440 KB |
n = 2 |
4 |
Correct |
25 ms |
47444 KB |
n = 2 |
5 |
Correct |
25 ms |
47396 KB |
n = 2 |
6 |
Correct |
27 ms |
47444 KB |
n = 2 |
7 |
Correct |
26 ms |
47400 KB |
n = 3 |
8 |
Correct |
26 ms |
47392 KB |
n = 3 |
9 |
Correct |
27 ms |
47420 KB |
n = 3 |
10 |
Correct |
27 ms |
47452 KB |
n = 8 |
11 |
Correct |
32 ms |
47444 KB |
n = 8 |
12 |
Correct |
30 ms |
47456 KB |
n = 8 |
13 |
Correct |
27 ms |
47448 KB |
n = 8 |
14 |
Correct |
27 ms |
47424 KB |
n = 8 |
15 |
Correct |
31 ms |
47464 KB |
n = 8 |
16 |
Correct |
27 ms |
47452 KB |
n = 8 |
17 |
Correct |
27 ms |
47492 KB |
n = 8 |
18 |
Correct |
27 ms |
47444 KB |
n = 8 |
19 |
Correct |
26 ms |
47496 KB |
n = 3 |
20 |
Correct |
32 ms |
47484 KB |
n = 7 |
21 |
Correct |
26 ms |
47508 KB |
n = 8 |
22 |
Correct |
27 ms |
47480 KB |
n = 8 |
23 |
Correct |
27 ms |
47496 KB |
n = 8 |
24 |
Correct |
25 ms |
47444 KB |
n = 8 |
25 |
Correct |
27 ms |
47468 KB |
n = 8 |
26 |
Correct |
26 ms |
47388 KB |
n = 8 |
27 |
Correct |
25 ms |
47460 KB |
n = 8 |
28 |
Correct |
26 ms |
47444 KB |
n = 8 |
29 |
Correct |
53 ms |
47444 KB |
n = 16 |
30 |
Correct |
53 ms |
47416 KB |
n = 16 |
31 |
Correct |
53 ms |
47492 KB |
n = 16 |
32 |
Correct |
52 ms |
47496 KB |
n = 16 |
33 |
Correct |
53 ms |
47488 KB |
n = 16 |
34 |
Correct |
52 ms |
47484 KB |
n = 16 |
35 |
Correct |
57 ms |
47488 KB |
n = 16 |
36 |
Correct |
45 ms |
47488 KB |
n = 15 |
37 |
Correct |
27 ms |
47444 KB |
n = 8 |
38 |
Correct |
53 ms |
47444 KB |
n = 16 |
39 |
Correct |
53 ms |
47444 KB |
n = 16 |
40 |
Correct |
26 ms |
47488 KB |
n = 9 |
41 |
Correct |
53 ms |
47456 KB |
n = 16 |
42 |
Correct |
53 ms |
47444 KB |
n = 16 |
43 |
Correct |
54 ms |
47444 KB |
n = 16 |
44 |
Correct |
26 ms |
47516 KB |
n = 9 |
45 |
Correct |
38 ms |
47512 KB |
n = 15 |
46 |
Correct |
53 ms |
47432 KB |
n = 16 |
47 |
Correct |
53 ms |
47496 KB |
n = 16 |
48 |
Correct |
54 ms |
47492 KB |
n = 16 |
49 |
Runtime error |
98 ms |
105636 KB |
Execution killed with signal 11 |
50 |
Halted |
0 ms |
0 KB |
- |