Submission #57806

# Submission time Handle Problem Language Result Execution time Memory
57806 2018-07-16T08:38:43 Z Crown Roller Coaster Railroad (IOI16_railroad) C++14
34 / 100
247 ms 88468 KB
#include "railroad.h"

#include <bits/stdc++.h>
using namespace std;
#define X first
#define Y second
#define pb push_back
typedef long long ll;
typedef pair<int, int> ii;

const int maxn = 18;

ll dp[maxn][ 1<< maxn];
int n;
vector<int> s, t;

ll solve(int u, int bit)
{
	if(bit + 1 == (1<<n)) return 0;
	if(dp[u][bit] != -1) return dp[u][bit];
	ll best = 1e18;
	for(int v = 0; v< n; v++)
	{
		if(bit & (1<< v) ) continue;
		best = min(best, max(0, t[u]-s[v])+solve(v, bit | (1<<v)));
	} 
	return dp[u][bit] = best;
}
long long plan_roller_coaster(vector<int> _s, vector<int> _t)
{
	s = _s, t = _t;
	n = (int) s.size();
	ll best = 1e18;
	memset(dp, -1, sizeof dp);
	for(int i = 0; i< n; i++) best = min(best, solve(i, 1<<i));
	return best;
}
# Verdict Execution time Memory Grader output
1 Correct 34 ms 37368 KB n = 2
2 Correct 32 ms 37368 KB n = 2
3 Correct 30 ms 37524 KB n = 2
4 Correct 30 ms 37524 KB n = 2
5 Correct 32 ms 37524 KB n = 2
6 Correct 30 ms 37696 KB n = 2
7 Correct 30 ms 37696 KB n = 3
8 Correct 30 ms 37696 KB n = 3
9 Correct 30 ms 37700 KB n = 3
10 Correct 29 ms 37704 KB n = 8
11 Correct 30 ms 37768 KB n = 8
12 Correct 34 ms 37768 KB n = 8
13 Correct 34 ms 37768 KB n = 8
14 Correct 32 ms 37768 KB n = 8
15 Correct 33 ms 37768 KB n = 8
16 Correct 34 ms 37768 KB n = 8
17 Correct 34 ms 37768 KB n = 8
18 Correct 34 ms 37768 KB n = 8
19 Correct 32 ms 37768 KB n = 3
20 Correct 33 ms 37768 KB n = 7
21 Correct 34 ms 37792 KB n = 8
22 Correct 35 ms 37796 KB n = 8
23 Correct 35 ms 37800 KB n = 8
24 Correct 34 ms 37804 KB n = 8
25 Correct 33 ms 37812 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 34 ms 37368 KB n = 2
2 Correct 32 ms 37368 KB n = 2
3 Correct 30 ms 37524 KB n = 2
4 Correct 30 ms 37524 KB n = 2
5 Correct 32 ms 37524 KB n = 2
6 Correct 30 ms 37696 KB n = 2
7 Correct 30 ms 37696 KB n = 3
8 Correct 30 ms 37696 KB n = 3
9 Correct 30 ms 37700 KB n = 3
10 Correct 29 ms 37704 KB n = 8
11 Correct 30 ms 37768 KB n = 8
12 Correct 34 ms 37768 KB n = 8
13 Correct 34 ms 37768 KB n = 8
14 Correct 32 ms 37768 KB n = 8
15 Correct 33 ms 37768 KB n = 8
16 Correct 34 ms 37768 KB n = 8
17 Correct 34 ms 37768 KB n = 8
18 Correct 34 ms 37768 KB n = 8
19 Correct 32 ms 37768 KB n = 3
20 Correct 33 ms 37768 KB n = 7
21 Correct 34 ms 37792 KB n = 8
22 Correct 35 ms 37796 KB n = 8
23 Correct 35 ms 37800 KB n = 8
24 Correct 34 ms 37804 KB n = 8
25 Correct 33 ms 37812 KB n = 8
26 Correct 33 ms 37816 KB n = 8
27 Correct 34 ms 37816 KB n = 8
28 Correct 35 ms 37824 KB n = 8
29 Correct 141 ms 37936 KB n = 16
30 Correct 163 ms 37936 KB n = 16
31 Correct 229 ms 37956 KB n = 16
32 Correct 208 ms 38092 KB n = 16
33 Correct 247 ms 38092 KB n = 16
34 Correct 230 ms 38092 KB n = 16
35 Correct 202 ms 38092 KB n = 16
36 Correct 77 ms 38092 KB n = 15
37 Correct 33 ms 38092 KB n = 8
38 Correct 175 ms 38092 KB n = 16
39 Correct 188 ms 38092 KB n = 16
40 Correct 34 ms 38092 KB n = 9
41 Correct 183 ms 38092 KB n = 16
42 Correct 178 ms 38092 KB n = 16
43 Correct 196 ms 38092 KB n = 16
44 Correct 34 ms 38092 KB n = 9
45 Correct 96 ms 38092 KB n = 15
46 Correct 184 ms 38092 KB n = 16
47 Correct 164 ms 38092 KB n = 16
48 Correct 181 ms 38092 KB n = 16
# Verdict Execution time Memory Grader output
1 Runtime error 174 ms 88468 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 34 ms 37368 KB n = 2
2 Correct 32 ms 37368 KB n = 2
3 Correct 30 ms 37524 KB n = 2
4 Correct 30 ms 37524 KB n = 2
5 Correct 32 ms 37524 KB n = 2
6 Correct 30 ms 37696 KB n = 2
7 Correct 30 ms 37696 KB n = 3
8 Correct 30 ms 37696 KB n = 3
9 Correct 30 ms 37700 KB n = 3
10 Correct 29 ms 37704 KB n = 8
11 Correct 30 ms 37768 KB n = 8
12 Correct 34 ms 37768 KB n = 8
13 Correct 34 ms 37768 KB n = 8
14 Correct 32 ms 37768 KB n = 8
15 Correct 33 ms 37768 KB n = 8
16 Correct 34 ms 37768 KB n = 8
17 Correct 34 ms 37768 KB n = 8
18 Correct 34 ms 37768 KB n = 8
19 Correct 32 ms 37768 KB n = 3
20 Correct 33 ms 37768 KB n = 7
21 Correct 34 ms 37792 KB n = 8
22 Correct 35 ms 37796 KB n = 8
23 Correct 35 ms 37800 KB n = 8
24 Correct 34 ms 37804 KB n = 8
25 Correct 33 ms 37812 KB n = 8
26 Correct 33 ms 37816 KB n = 8
27 Correct 34 ms 37816 KB n = 8
28 Correct 35 ms 37824 KB n = 8
29 Correct 141 ms 37936 KB n = 16
30 Correct 163 ms 37936 KB n = 16
31 Correct 229 ms 37956 KB n = 16
32 Correct 208 ms 38092 KB n = 16
33 Correct 247 ms 38092 KB n = 16
34 Correct 230 ms 38092 KB n = 16
35 Correct 202 ms 38092 KB n = 16
36 Correct 77 ms 38092 KB n = 15
37 Correct 33 ms 38092 KB n = 8
38 Correct 175 ms 38092 KB n = 16
39 Correct 188 ms 38092 KB n = 16
40 Correct 34 ms 38092 KB n = 9
41 Correct 183 ms 38092 KB n = 16
42 Correct 178 ms 38092 KB n = 16
43 Correct 196 ms 38092 KB n = 16
44 Correct 34 ms 38092 KB n = 9
45 Correct 96 ms 38092 KB n = 15
46 Correct 184 ms 38092 KB n = 16
47 Correct 164 ms 38092 KB n = 16
48 Correct 181 ms 38092 KB n = 16
49 Runtime error 174 ms 88468 KB Execution killed with signal 11 (could be triggered by violating memory limits)
50 Halted 0 ms 0 KB -