답안 #125876

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
125876 2019-07-06T13:22:22 Z Sorting Roller Coaster Railroad (IOI16_railroad) C++14
34 / 100
113 ms 19960 KB
#include <bits/stdc++.h>

using namespace std;

const int N = 2e5 + 7;
const int M = (1 << 16) + 7;
const long long inf = 1e18 + 7;

pair<long long, bool> dp[M][19];
int n;
pair<int, int> p[N];

long long solve(int state, int pr = 17){
	if(dp[state][pr].second){
		return dp[state][pr].first;
	}
	if(state == (1 << n) - 1){
		return 0;
	}

	dp[state][pr].second = true;
	dp[state][pr].first = inf;

	long long curr;

	if(pr == 17){
		curr = 1;
	}
	else{
		curr = p[pr].second;
	}

	for(int i = 0; i < n; i++){
		if((1 << i) & state){
			continue;
		}

		dp[state][pr].first = min(dp[state][pr].first, solve(state | (1 << i), i) + max(curr - p[i].first, 0ll));
	}

	return dp[state][pr].first;
}

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

	for(int i = 0; i < n; i++){
		p[i] = {s[i], t[i]};
	}

	return solve(0);
}

/*int main(){
	int nn;

	cin >> nn;

	vector<int> s, t;

	for(int i = 0; i < nn; i++){
		int x, y;

		cin >> x >> y;

		s.push_back(x);
		t.push_back(y);
	}

	cout << plan_roller_coaster(s, t) << endl;

	return 0;
}*/
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB n = 2
2 Correct 2 ms 376 KB n = 2
3 Correct 2 ms 256 KB n = 2
4 Correct 2 ms 376 KB n = 2
5 Correct 2 ms 376 KB n = 2
6 Correct 2 ms 376 KB n = 2
7 Correct 2 ms 376 KB n = 3
8 Correct 2 ms 376 KB n = 3
9 Correct 2 ms 376 KB n = 3
10 Correct 2 ms 376 KB n = 8
11 Correct 2 ms 376 KB n = 8
12 Correct 3 ms 376 KB n = 8
13 Correct 2 ms 376 KB n = 8
14 Correct 2 ms 376 KB n = 8
15 Correct 2 ms 376 KB n = 8
16 Correct 2 ms 376 KB n = 8
17 Correct 2 ms 376 KB n = 8
18 Correct 2 ms 376 KB n = 8
19 Correct 2 ms 376 KB n = 3
20 Correct 2 ms 376 KB n = 7
21 Correct 2 ms 376 KB n = 8
22 Correct 2 ms 376 KB n = 8
23 Correct 2 ms 376 KB n = 8
24 Correct 2 ms 376 KB n = 8
25 Correct 2 ms 380 KB n = 8
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB n = 2
2 Correct 2 ms 376 KB n = 2
3 Correct 2 ms 256 KB n = 2
4 Correct 2 ms 376 KB n = 2
5 Correct 2 ms 376 KB n = 2
6 Correct 2 ms 376 KB n = 2
7 Correct 2 ms 376 KB n = 3
8 Correct 2 ms 376 KB n = 3
9 Correct 2 ms 376 KB n = 3
10 Correct 2 ms 376 KB n = 8
11 Correct 2 ms 376 KB n = 8
12 Correct 3 ms 376 KB n = 8
13 Correct 2 ms 376 KB n = 8
14 Correct 2 ms 376 KB n = 8
15 Correct 2 ms 376 KB n = 8
16 Correct 2 ms 376 KB n = 8
17 Correct 2 ms 376 KB n = 8
18 Correct 2 ms 376 KB n = 8
19 Correct 2 ms 376 KB n = 3
20 Correct 2 ms 376 KB n = 7
21 Correct 2 ms 376 KB n = 8
22 Correct 2 ms 376 KB n = 8
23 Correct 2 ms 376 KB n = 8
24 Correct 2 ms 376 KB n = 8
25 Correct 2 ms 380 KB n = 8
26 Correct 2 ms 376 KB n = 8
27 Correct 2 ms 380 KB n = 8
28 Correct 2 ms 376 KB n = 8
29 Correct 109 ms 19868 KB n = 16
30 Correct 110 ms 19896 KB n = 16
31 Correct 113 ms 19832 KB n = 16
32 Correct 108 ms 19864 KB n = 16
33 Correct 104 ms 19832 KB n = 16
34 Correct 106 ms 19832 KB n = 16
35 Correct 110 ms 19832 KB n = 16
36 Correct 49 ms 10104 KB n = 15
37 Correct 2 ms 376 KB n = 8
38 Correct 107 ms 19832 KB n = 16
39 Correct 113 ms 19860 KB n = 16
40 Correct 2 ms 504 KB n = 9
41 Correct 113 ms 19832 KB n = 16
42 Correct 108 ms 19832 KB n = 16
43 Correct 107 ms 19832 KB n = 16
44 Correct 3 ms 504 KB n = 9
45 Correct 46 ms 10104 KB n = 15
46 Correct 108 ms 19832 KB n = 16
47 Correct 109 ms 19960 KB n = 16
48 Correct 108 ms 19960 KB n = 16
# 결과 실행 시간 메모리 Grader output
1 Runtime error 82 ms 10104 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB n = 2
2 Correct 2 ms 376 KB n = 2
3 Correct 2 ms 256 KB n = 2
4 Correct 2 ms 376 KB n = 2
5 Correct 2 ms 376 KB n = 2
6 Correct 2 ms 376 KB n = 2
7 Correct 2 ms 376 KB n = 3
8 Correct 2 ms 376 KB n = 3
9 Correct 2 ms 376 KB n = 3
10 Correct 2 ms 376 KB n = 8
11 Correct 2 ms 376 KB n = 8
12 Correct 3 ms 376 KB n = 8
13 Correct 2 ms 376 KB n = 8
14 Correct 2 ms 376 KB n = 8
15 Correct 2 ms 376 KB n = 8
16 Correct 2 ms 376 KB n = 8
17 Correct 2 ms 376 KB n = 8
18 Correct 2 ms 376 KB n = 8
19 Correct 2 ms 376 KB n = 3
20 Correct 2 ms 376 KB n = 7
21 Correct 2 ms 376 KB n = 8
22 Correct 2 ms 376 KB n = 8
23 Correct 2 ms 376 KB n = 8
24 Correct 2 ms 376 KB n = 8
25 Correct 2 ms 380 KB n = 8
26 Correct 2 ms 376 KB n = 8
27 Correct 2 ms 380 KB n = 8
28 Correct 2 ms 376 KB n = 8
29 Correct 109 ms 19868 KB n = 16
30 Correct 110 ms 19896 KB n = 16
31 Correct 113 ms 19832 KB n = 16
32 Correct 108 ms 19864 KB n = 16
33 Correct 104 ms 19832 KB n = 16
34 Correct 106 ms 19832 KB n = 16
35 Correct 110 ms 19832 KB n = 16
36 Correct 49 ms 10104 KB n = 15
37 Correct 2 ms 376 KB n = 8
38 Correct 107 ms 19832 KB n = 16
39 Correct 113 ms 19860 KB n = 16
40 Correct 2 ms 504 KB n = 9
41 Correct 113 ms 19832 KB n = 16
42 Correct 108 ms 19832 KB n = 16
43 Correct 107 ms 19832 KB n = 16
44 Correct 3 ms 504 KB n = 9
45 Correct 46 ms 10104 KB n = 15
46 Correct 108 ms 19832 KB n = 16
47 Correct 109 ms 19960 KB n = 16
48 Correct 108 ms 19960 KB n = 16
49 Runtime error 82 ms 10104 KB Execution killed with signal 11 (could be triggered by violating memory limits)
50 Halted 0 ms 0 KB -