Submission #787477

# Submission time Handle Problem Language Result Execution time Memory
787477 2023-07-19T08:24:38 Z Sohsoh84 Roller Coaster Railroad (IOI16_railroad) C++17
34 / 100
39 ms 10580 KB
#include "railroad.h"
#include <bits/stdc++.h>

typedef long long ll;

using namespace std;

#define all(x)		(x).begin(), (x).end()
#define debug(x)	cerr << #x << ": " << x << endl;
#define sep		' '

const ll MAXN = 1e6 + 10;
const ll INF = 1e18;

ll f[MAXN], n, m;
vector<ll> comp_vec;
ll dp[MAXN][20];

inline int ind(ll x) {
	return lower_bound(all(comp_vec), x) - comp_vec.begin() + 1;
}

ll plan_roller_coaster(vector<int> s, vector<int> t) {
	n = s.size();

	for (int mask = 1; mask < (1 << n); mask++) {
		vector<int> vec;
		for (int v = 0; v < n; v++)
			if (mask >> v & 1)
				vec.push_back(v);
	
		if (int(vec.size()) < 2) continue;

		for (int e : vec) {
			dp[mask][e] = INF;
			for (int e2 : vec) {
				if (e == e2) continue;
				dp[mask][e] = min(dp[mask][e], dp[mask ^ (1 << e)][e2] + max(0, t[e2] - s[e]));
			}
		}
	}

	ll ans = INF;
	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 1 ms 212 KB n = 2
2 Correct 1 ms 316 KB n = 2
3 Correct 1 ms 212 KB n = 2
4 Correct 1 ms 316 KB n = 2
5 Correct 1 ms 212 KB n = 2
6 Correct 1 ms 212 KB n = 2
7 Correct 1 ms 320 KB n = 3
8 Correct 1 ms 212 KB n = 3
9 Correct 1 ms 212 KB n = 3
10 Correct 1 ms 340 KB n = 8
11 Correct 1 ms 340 KB n = 8
12 Correct 1 ms 340 KB n = 8
13 Correct 1 ms 340 KB n = 8
14 Correct 1 ms 340 KB n = 8
15 Correct 1 ms 320 KB n = 8
16 Correct 1 ms 340 KB n = 8
17 Correct 1 ms 340 KB n = 8
18 Correct 1 ms 340 KB n = 8
19 Correct 1 ms 212 KB n = 3
20 Correct 1 ms 212 KB n = 7
21 Correct 1 ms 316 KB n = 8
22 Correct 1 ms 340 KB n = 8
23 Correct 0 ms 340 KB n = 8
24 Correct 1 ms 340 KB n = 8
25 Correct 1 ms 340 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB n = 2
2 Correct 1 ms 316 KB n = 2
3 Correct 1 ms 212 KB n = 2
4 Correct 1 ms 316 KB n = 2
5 Correct 1 ms 212 KB n = 2
6 Correct 1 ms 212 KB n = 2
7 Correct 1 ms 320 KB n = 3
8 Correct 1 ms 212 KB n = 3
9 Correct 1 ms 212 KB n = 3
10 Correct 1 ms 340 KB n = 8
11 Correct 1 ms 340 KB n = 8
12 Correct 1 ms 340 KB n = 8
13 Correct 1 ms 340 KB n = 8
14 Correct 1 ms 340 KB n = 8
15 Correct 1 ms 320 KB n = 8
16 Correct 1 ms 340 KB n = 8
17 Correct 1 ms 340 KB n = 8
18 Correct 1 ms 340 KB n = 8
19 Correct 1 ms 212 KB n = 3
20 Correct 1 ms 212 KB n = 7
21 Correct 1 ms 316 KB n = 8
22 Correct 1 ms 340 KB n = 8
23 Correct 0 ms 340 KB n = 8
24 Correct 1 ms 340 KB n = 8
25 Correct 1 ms 340 KB n = 8
26 Correct 1 ms 340 KB n = 8
27 Correct 1 ms 340 KB n = 8
28 Correct 1 ms 312 KB n = 8
29 Correct 32 ms 10544 KB n = 16
30 Correct 21 ms 10556 KB n = 16
31 Correct 22 ms 10524 KB n = 16
32 Correct 21 ms 10476 KB n = 16
33 Correct 20 ms 10472 KB n = 16
34 Correct 22 ms 10560 KB n = 16
35 Correct 23 ms 10544 KB n = 16
36 Correct 10 ms 5332 KB n = 15
37 Correct 1 ms 340 KB n = 8
38 Correct 24 ms 10540 KB n = 16
39 Correct 28 ms 10492 KB n = 16
40 Correct 1 ms 312 KB n = 9
41 Correct 23 ms 10452 KB n = 16
42 Correct 21 ms 10580 KB n = 16
43 Correct 21 ms 10580 KB n = 16
44 Correct 1 ms 316 KB n = 9
45 Correct 10 ms 5428 KB n = 15
46 Correct 22 ms 10552 KB n = 16
47 Correct 22 ms 10480 KB n = 16
48 Correct 22 ms 10528 KB n = 16
# Verdict Execution time Memory Grader output
1 Runtime error 39 ms 7252 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 1 ms 316 KB n = 2
3 Correct 1 ms 212 KB n = 2
4 Correct 1 ms 316 KB n = 2
5 Correct 1 ms 212 KB n = 2
6 Correct 1 ms 212 KB n = 2
7 Correct 1 ms 320 KB n = 3
8 Correct 1 ms 212 KB n = 3
9 Correct 1 ms 212 KB n = 3
10 Correct 1 ms 340 KB n = 8
11 Correct 1 ms 340 KB n = 8
12 Correct 1 ms 340 KB n = 8
13 Correct 1 ms 340 KB n = 8
14 Correct 1 ms 340 KB n = 8
15 Correct 1 ms 320 KB n = 8
16 Correct 1 ms 340 KB n = 8
17 Correct 1 ms 340 KB n = 8
18 Correct 1 ms 340 KB n = 8
19 Correct 1 ms 212 KB n = 3
20 Correct 1 ms 212 KB n = 7
21 Correct 1 ms 316 KB n = 8
22 Correct 1 ms 340 KB n = 8
23 Correct 0 ms 340 KB n = 8
24 Correct 1 ms 340 KB n = 8
25 Correct 1 ms 340 KB n = 8
26 Correct 1 ms 340 KB n = 8
27 Correct 1 ms 340 KB n = 8
28 Correct 1 ms 312 KB n = 8
29 Correct 32 ms 10544 KB n = 16
30 Correct 21 ms 10556 KB n = 16
31 Correct 22 ms 10524 KB n = 16
32 Correct 21 ms 10476 KB n = 16
33 Correct 20 ms 10472 KB n = 16
34 Correct 22 ms 10560 KB n = 16
35 Correct 23 ms 10544 KB n = 16
36 Correct 10 ms 5332 KB n = 15
37 Correct 1 ms 340 KB n = 8
38 Correct 24 ms 10540 KB n = 16
39 Correct 28 ms 10492 KB n = 16
40 Correct 1 ms 312 KB n = 9
41 Correct 23 ms 10452 KB n = 16
42 Correct 21 ms 10580 KB n = 16
43 Correct 21 ms 10580 KB n = 16
44 Correct 1 ms 316 KB n = 9
45 Correct 10 ms 5428 KB n = 15
46 Correct 22 ms 10552 KB n = 16
47 Correct 22 ms 10480 KB n = 16
48 Correct 22 ms 10528 KB n = 16
49 Runtime error 39 ms 7252 KB Execution killed with signal 11
50 Halted 0 ms 0 KB -