Submission #789876

# Submission time Handle Problem Language Result Execution time Memory
789876 2023-07-22T06:41:14 Z pravcoder Roller Coaster Railroad (IOI16_railroad) C++14
34 / 100
308 ms 524288 KB
#include "railroad.h"
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

typedef long long ll;
typedef vector<ll> vll;
typedef vector<vll> v2ll;
typedef vector<int> vi;
typedef pair<int, int> pi;
typedef vector<pi> vpi;

ll plan_roller_coaster(vi s, vi t) {
    int n = (int) s.size();
    vll empty(n, 1e12);
    v2ll costs(n, empty);
    for (int i = 0; i < n-1; i++)
    {
        for (int j = i+1; j < n; j++)
        {
            costs[i][j] = (t[i] - s[j]) * (t[i] > s[j]);
            costs[j][i] = (t[j] - s[i]) * (t[j] > s[i]);
        }
    }
    v2ll d(1<<n, empty);
    for (int i = 0; i < n; i++)
    {
        d[1<<i][i] = 0;
    }
    ll ans = 1e12;
    for (int b = 1; b < (1<<n); b++)
    {
        for (int c = 0; c < n; c++)
        {
            if (b == (1 << n) - 1) {
                ans = min(ans, d[b][c]);
            }
            else {
                if ((b & (1 << c)) > 0) {
                    for (int i = 0; i < n; i++)
                    {
                        if ((b & (1 << i)) == 0) {
                            d[b | (1 << i)][i] = min(d[b | (1 << i)][i], d[b][c] + costs[c][i]);
                        }
                    }
                }
            }
        }
    }
    return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 0 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 1 ms 212 KB n = 2
6 Correct 0 ms 300 KB n = 2
7 Correct 1 ms 212 KB n = 3
8 Correct 1 ms 296 KB n = 3
9 Correct 1 ms 212 KB n = 3
10 Correct 1 ms 296 KB n = 8
11 Correct 1 ms 212 KB n = 8
12 Correct 1 ms 276 KB n = 8
13 Correct 1 ms 212 KB n = 8
14 Correct 1 ms 300 KB n = 8
15 Correct 1 ms 300 KB n = 8
16 Correct 1 ms 212 KB n = 8
17 Correct 1 ms 304 KB n = 8
18 Correct 1 ms 212 KB n = 8
19 Correct 0 ms 212 KB n = 3
20 Correct 1 ms 304 KB n = 7
21 Correct 1 ms 212 KB n = 8
22 Correct 0 ms 212 KB n = 8
23 Correct 0 ms 212 KB n = 8
24 Correct 1 ms 300 KB n = 8
25 Correct 1 ms 212 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 0 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 1 ms 212 KB n = 2
6 Correct 0 ms 300 KB n = 2
7 Correct 1 ms 212 KB n = 3
8 Correct 1 ms 296 KB n = 3
9 Correct 1 ms 212 KB n = 3
10 Correct 1 ms 296 KB n = 8
11 Correct 1 ms 212 KB n = 8
12 Correct 1 ms 276 KB n = 8
13 Correct 1 ms 212 KB n = 8
14 Correct 1 ms 300 KB n = 8
15 Correct 1 ms 300 KB n = 8
16 Correct 1 ms 212 KB n = 8
17 Correct 1 ms 304 KB n = 8
18 Correct 1 ms 212 KB n = 8
19 Correct 0 ms 212 KB n = 3
20 Correct 1 ms 304 KB n = 7
21 Correct 1 ms 212 KB n = 8
22 Correct 0 ms 212 KB n = 8
23 Correct 0 ms 212 KB n = 8
24 Correct 1 ms 300 KB n = 8
25 Correct 1 ms 212 KB n = 8
26 Correct 1 ms 348 KB n = 8
27 Correct 1 ms 300 KB n = 8
28 Correct 1 ms 212 KB n = 8
29 Correct 37 ms 11052 KB n = 16
30 Correct 36 ms 11020 KB n = 16
31 Correct 35 ms 11072 KB n = 16
32 Correct 36 ms 11092 KB n = 16
33 Correct 35 ms 10964 KB n = 16
34 Correct 35 ms 11092 KB n = 16
35 Correct 34 ms 11072 KB n = 16
36 Correct 15 ms 5076 KB n = 15
37 Correct 1 ms 212 KB n = 8
38 Correct 35 ms 10964 KB n = 16
39 Correct 36 ms 11092 KB n = 16
40 Correct 1 ms 340 KB n = 9
41 Correct 35 ms 11072 KB n = 16
42 Correct 34 ms 11072 KB n = 16
43 Correct 34 ms 11072 KB n = 16
44 Correct 1 ms 340 KB n = 9
45 Correct 18 ms 5076 KB n = 15
46 Correct 37 ms 11080 KB n = 16
47 Correct 38 ms 11076 KB n = 16
48 Correct 35 ms 10964 KB n = 16
# Verdict Execution time Memory Grader output
1 Runtime error 308 ms 524288 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 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 1 ms 212 KB n = 2
6 Correct 0 ms 300 KB n = 2
7 Correct 1 ms 212 KB n = 3
8 Correct 1 ms 296 KB n = 3
9 Correct 1 ms 212 KB n = 3
10 Correct 1 ms 296 KB n = 8
11 Correct 1 ms 212 KB n = 8
12 Correct 1 ms 276 KB n = 8
13 Correct 1 ms 212 KB n = 8
14 Correct 1 ms 300 KB n = 8
15 Correct 1 ms 300 KB n = 8
16 Correct 1 ms 212 KB n = 8
17 Correct 1 ms 304 KB n = 8
18 Correct 1 ms 212 KB n = 8
19 Correct 0 ms 212 KB n = 3
20 Correct 1 ms 304 KB n = 7
21 Correct 1 ms 212 KB n = 8
22 Correct 0 ms 212 KB n = 8
23 Correct 0 ms 212 KB n = 8
24 Correct 1 ms 300 KB n = 8
25 Correct 1 ms 212 KB n = 8
26 Correct 1 ms 348 KB n = 8
27 Correct 1 ms 300 KB n = 8
28 Correct 1 ms 212 KB n = 8
29 Correct 37 ms 11052 KB n = 16
30 Correct 36 ms 11020 KB n = 16
31 Correct 35 ms 11072 KB n = 16
32 Correct 36 ms 11092 KB n = 16
33 Correct 35 ms 10964 KB n = 16
34 Correct 35 ms 11092 KB n = 16
35 Correct 34 ms 11072 KB n = 16
36 Correct 15 ms 5076 KB n = 15
37 Correct 1 ms 212 KB n = 8
38 Correct 35 ms 10964 KB n = 16
39 Correct 36 ms 11092 KB n = 16
40 Correct 1 ms 340 KB n = 9
41 Correct 35 ms 11072 KB n = 16
42 Correct 34 ms 11072 KB n = 16
43 Correct 34 ms 11072 KB n = 16
44 Correct 1 ms 340 KB n = 9
45 Correct 18 ms 5076 KB n = 15
46 Correct 37 ms 11080 KB n = 16
47 Correct 38 ms 11076 KB n = 16
48 Correct 35 ms 10964 KB n = 16
49 Runtime error 308 ms 524288 KB Execution killed with signal 9
50 Halted 0 ms 0 KB -