Submission #789802

# Submission time Handle Problem Language Result Execution time Memory
789802 2023-07-22T04:45:19 Z mindiyak Roller Coaster Railroad (IOI16_railroad) C++14
34 / 100
98 ms 105636 KB
#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 -