Submission #787518

# Submission time Handle Problem Language Result Execution time Memory
787518 2023-07-19T08:57:53 Z fatemetmhr Roller Coaster Railroad (IOI16_railroad) C++17
34 / 100
39 ms 9028 KB
//  ~ Be Name Khoda ~  //

#include "railroad.h"
#include <bits/stdc++.h>
//#pragma GCC optimize ("O3")
//#pragma GCC target("avx2")
//#pragma GCC optimize("unroll-loops,Ofast")

using namespace std;

typedef long long ll;

#define pb       push_back
#define mp       make_pair
#define all(x)   x.begin(), x.end()
#define fi       first
#define se       second

const int maxn  =  1e6   + 10;
const int maxn5 =  5e5   + 10;
const int maxnt =  1.2e6 + 10;
const int maxn3 =  1e3   + 10;
const int mod   =  1e9   + 7;
const ll  inf   =  1e18;

ll dp[(1 << 16)][17];


long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) {
    int n = (int) s.size();
    for(int mask = 1; mask < (1 << n); mask++){
        for(int i = 0; i < n; i++) if((mask >> i)&1){
            int mask2 = mask ^ (1 << i);
            if(mask2 == 0){
                dp[mask][i] = 0;
                continue;
            }
            dp[mask][i] = inf;
            for(int j = 0; j < n; j++) if((mask2 >> j)&1){
                dp[mask][i] = min(dp[mask][i], dp[mask2][j] + max(0, t[j] - s[i]));
                //cout << mask << ' ' << mask2 << ' ' << i << ' ' << j << ' ' << dp[mask][i] << ' ' << t[j] << ' ' << s[i] << endl;
            }
        }
    }
    ll mn = inf;
    for(int i = 0; i < n; i++)
        mn = min(mn, dp[(1 << n) - 1][i]);
    return mn;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB n = 2
2 Correct 0 ms 212 KB n = 2
3 Correct 1 ms 212 KB n = 2
4 Correct 0 ms 212 KB n = 2
5 Correct 0 ms 212 KB n = 2
6 Correct 0 ms 212 KB n = 2
7 Correct 0 ms 212 KB n = 3
8 Correct 1 ms 212 KB n = 3
9 Correct 0 ms 212 KB n = 3
10 Correct 1 ms 340 KB n = 8
11 Correct 0 ms 340 KB n = 8
12 Correct 1 ms 212 KB n = 8
13 Correct 0 ms 340 KB n = 8
14 Correct 1 ms 340 KB n = 8
15 Correct 1 ms 340 KB n = 8
16 Correct 0 ms 212 KB n = 8
17 Correct 1 ms 340 KB n = 8
18 Correct 1 ms 212 KB n = 8
19 Correct 1 ms 212 KB n = 3
20 Correct 0 ms 212 KB n = 7
21 Correct 0 ms 212 KB n = 8
22 Correct 0 ms 212 KB n = 8
23 Correct 1 ms 340 KB n = 8
24 Correct 1 ms 212 KB n = 8
25 Correct 0 ms 212 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB n = 2
2 Correct 0 ms 212 KB n = 2
3 Correct 1 ms 212 KB n = 2
4 Correct 0 ms 212 KB n = 2
5 Correct 0 ms 212 KB n = 2
6 Correct 0 ms 212 KB n = 2
7 Correct 0 ms 212 KB n = 3
8 Correct 1 ms 212 KB n = 3
9 Correct 0 ms 212 KB n = 3
10 Correct 1 ms 340 KB n = 8
11 Correct 0 ms 340 KB n = 8
12 Correct 1 ms 212 KB n = 8
13 Correct 0 ms 340 KB n = 8
14 Correct 1 ms 340 KB n = 8
15 Correct 1 ms 340 KB n = 8
16 Correct 0 ms 212 KB n = 8
17 Correct 1 ms 340 KB n = 8
18 Correct 1 ms 212 KB n = 8
19 Correct 1 ms 212 KB n = 3
20 Correct 0 ms 212 KB n = 7
21 Correct 0 ms 212 KB n = 8
22 Correct 0 ms 212 KB n = 8
23 Correct 1 ms 340 KB n = 8
24 Correct 1 ms 212 KB n = 8
25 Correct 0 ms 212 KB n = 8
26 Correct 1 ms 340 KB n = 8
27 Correct 1 ms 340 KB n = 8
28 Correct 0 ms 340 KB n = 8
29 Correct 39 ms 9028 KB n = 16
30 Correct 36 ms 8908 KB n = 16
31 Correct 34 ms 8916 KB n = 16
32 Correct 34 ms 9000 KB n = 16
33 Correct 34 ms 8908 KB n = 16
34 Correct 34 ms 9000 KB n = 16
35 Correct 35 ms 8908 KB n = 16
36 Correct 15 ms 4564 KB n = 15
37 Correct 0 ms 340 KB n = 8
38 Correct 36 ms 8932 KB n = 16
39 Correct 34 ms 8944 KB n = 16
40 Correct 1 ms 340 KB n = 9
41 Correct 37 ms 9004 KB n = 16
42 Correct 33 ms 9000 KB n = 16
43 Correct 33 ms 8900 KB n = 16
44 Correct 0 ms 340 KB n = 9
45 Correct 16 ms 4624 KB n = 15
46 Correct 34 ms 8904 KB n = 16
47 Correct 34 ms 8976 KB n = 16
48 Correct 33 ms 8896 KB n = 16
# Verdict Execution time Memory Grader output
1 Runtime error 34 ms 6756 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB n = 2
2 Correct 0 ms 212 KB n = 2
3 Correct 1 ms 212 KB n = 2
4 Correct 0 ms 212 KB n = 2
5 Correct 0 ms 212 KB n = 2
6 Correct 0 ms 212 KB n = 2
7 Correct 0 ms 212 KB n = 3
8 Correct 1 ms 212 KB n = 3
9 Correct 0 ms 212 KB n = 3
10 Correct 1 ms 340 KB n = 8
11 Correct 0 ms 340 KB n = 8
12 Correct 1 ms 212 KB n = 8
13 Correct 0 ms 340 KB n = 8
14 Correct 1 ms 340 KB n = 8
15 Correct 1 ms 340 KB n = 8
16 Correct 0 ms 212 KB n = 8
17 Correct 1 ms 340 KB n = 8
18 Correct 1 ms 212 KB n = 8
19 Correct 1 ms 212 KB n = 3
20 Correct 0 ms 212 KB n = 7
21 Correct 0 ms 212 KB n = 8
22 Correct 0 ms 212 KB n = 8
23 Correct 1 ms 340 KB n = 8
24 Correct 1 ms 212 KB n = 8
25 Correct 0 ms 212 KB n = 8
26 Correct 1 ms 340 KB n = 8
27 Correct 1 ms 340 KB n = 8
28 Correct 0 ms 340 KB n = 8
29 Correct 39 ms 9028 KB n = 16
30 Correct 36 ms 8908 KB n = 16
31 Correct 34 ms 8916 KB n = 16
32 Correct 34 ms 9000 KB n = 16
33 Correct 34 ms 8908 KB n = 16
34 Correct 34 ms 9000 KB n = 16
35 Correct 35 ms 8908 KB n = 16
36 Correct 15 ms 4564 KB n = 15
37 Correct 0 ms 340 KB n = 8
38 Correct 36 ms 8932 KB n = 16
39 Correct 34 ms 8944 KB n = 16
40 Correct 1 ms 340 KB n = 9
41 Correct 37 ms 9004 KB n = 16
42 Correct 33 ms 9000 KB n = 16
43 Correct 33 ms 8900 KB n = 16
44 Correct 0 ms 340 KB n = 9
45 Correct 16 ms 4624 KB n = 15
46 Correct 34 ms 8904 KB n = 16
47 Correct 34 ms 8976 KB n = 16
48 Correct 33 ms 8896 KB n = 16
49 Runtime error 34 ms 6756 KB Execution killed with signal 11
50 Halted 0 ms 0 KB -