답안 #299408

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
299408 2020-09-14T20:49:07 Z williamMBDK Shortcut (IOI16_shortcut) C++14
0 / 100
1 ms 384 KB
#include<bits/stdc++.h>
#include "shortcut.h"
using namespace std;
#define int long long
int N, C;
vector<signed> L, D;
int find_shortcut(signed _N, std::vector<signed> _l, std::vector<signed> _d, signed _C){
	L = _l, D = _d;	
	N = _N;
	C = _C;
	vector<pair<int,int>> dp (N);
	pair<int,int> best = {0, -1};
	for(int i = N - 1; i >= 0; i--){
		dp[i] = best;
		dp[i].first += D[i];
		if(i == 0) break;
		if(D[i] >= best.first){
			best = {D[i], i};
		}
		best.first += L[i-1];
	}
	best = {0,-1};
	int idx = -1;
	for(int i = 0; i < N; i++){
		if(dp[i] > best) best = dp[i], idx = i;
	}
	vector<int> dist (N);
	for(int i = 1; i < N; i++){
		dist[i] = dist[i-1] + L[i-1];
	}
	int a = idx, b = best.second;
	//cout << a << " " << b << endl;
	//cout << best.first << endl;
	int res = LLONG_MAX;
	for(int i = 0; i < N; i++){
		for(int j = b; j <= b; j++){
			int mx = 0;
			for(int k = 0; k < N; k++){
				for(int l = k + 1; l < N; l++){
					int d;
					d = D[k] + abs(dist[k] - dist[i]) + C + abs(dist[j] - dist[l]) + D[l];
					d = min(d, D[k] + D[l] + abs(dist[k] - dist[l]));
					d = min(d, D[k] + abs(dist[k] - dist[j]) + C + abs(dist[i] - dist[l]) + D[l]);
					mx = max(d, mx);
				}
			}
			res = min(res, mx);
		}
	}
	return res;
}

Compilation message

shortcut.cpp: In function 'long long int find_shortcut(int, std::vector<int>, std::vector<int>, int)':
shortcut.cpp:31:6: warning: unused variable 'a' [-Wunused-variable]
   31 |  int a = idx, b = best.second;
      |      ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB n = 4, 80 is a correct answer
2 Correct 0 ms 256 KB n = 9, 110 is a correct answer
3 Correct 1 ms 384 KB n = 4, 21 is a correct answer
4 Correct 0 ms 256 KB n = 3, 4 is a correct answer
5 Correct 0 ms 256 KB n = 2, 62 is a correct answer
6 Correct 0 ms 256 KB n = 2, 3 is a correct answer
7 Correct 1 ms 256 KB n = 3, 29 is a correct answer
8 Correct 0 ms 288 KB n = 2, 3 is a correct answer
9 Correct 1 ms 256 KB n = 2, 3 is a correct answer
10 Correct 0 ms 256 KB n = 2, 2000000001 is a correct answer
11 Correct 0 ms 256 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 256 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 256 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 256 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 256 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 256 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 256 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 256 KB n = 5, 12 is a correct answer
21 Correct 0 ms 256 KB n = 5, 25 is a correct answer
22 Correct 0 ms 256 KB n = 2, 122 is a correct answer
23 Correct 0 ms 256 KB n = 10, 117 is a correct answer
24 Incorrect 0 ms 256 KB n = 10, incorrect answer: jury 336 vs contestant 367
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB n = 4, 80 is a correct answer
2 Correct 0 ms 256 KB n = 9, 110 is a correct answer
3 Correct 1 ms 384 KB n = 4, 21 is a correct answer
4 Correct 0 ms 256 KB n = 3, 4 is a correct answer
5 Correct 0 ms 256 KB n = 2, 62 is a correct answer
6 Correct 0 ms 256 KB n = 2, 3 is a correct answer
7 Correct 1 ms 256 KB n = 3, 29 is a correct answer
8 Correct 0 ms 288 KB n = 2, 3 is a correct answer
9 Correct 1 ms 256 KB n = 2, 3 is a correct answer
10 Correct 0 ms 256 KB n = 2, 2000000001 is a correct answer
11 Correct 0 ms 256 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 256 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 256 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 256 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 256 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 256 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 256 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 256 KB n = 5, 12 is a correct answer
21 Correct 0 ms 256 KB n = 5, 25 is a correct answer
22 Correct 0 ms 256 KB n = 2, 122 is a correct answer
23 Correct 0 ms 256 KB n = 10, 117 is a correct answer
24 Incorrect 0 ms 256 KB n = 10, incorrect answer: jury 336 vs contestant 367
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB n = 4, 80 is a correct answer
2 Correct 0 ms 256 KB n = 9, 110 is a correct answer
3 Correct 1 ms 384 KB n = 4, 21 is a correct answer
4 Correct 0 ms 256 KB n = 3, 4 is a correct answer
5 Correct 0 ms 256 KB n = 2, 62 is a correct answer
6 Correct 0 ms 256 KB n = 2, 3 is a correct answer
7 Correct 1 ms 256 KB n = 3, 29 is a correct answer
8 Correct 0 ms 288 KB n = 2, 3 is a correct answer
9 Correct 1 ms 256 KB n = 2, 3 is a correct answer
10 Correct 0 ms 256 KB n = 2, 2000000001 is a correct answer
11 Correct 0 ms 256 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 256 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 256 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 256 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 256 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 256 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 256 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 256 KB n = 5, 12 is a correct answer
21 Correct 0 ms 256 KB n = 5, 25 is a correct answer
22 Correct 0 ms 256 KB n = 2, 122 is a correct answer
23 Correct 0 ms 256 KB n = 10, 117 is a correct answer
24 Incorrect 0 ms 256 KB n = 10, incorrect answer: jury 336 vs contestant 367
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB n = 4, 80 is a correct answer
2 Correct 0 ms 256 KB n = 9, 110 is a correct answer
3 Correct 1 ms 384 KB n = 4, 21 is a correct answer
4 Correct 0 ms 256 KB n = 3, 4 is a correct answer
5 Correct 0 ms 256 KB n = 2, 62 is a correct answer
6 Correct 0 ms 256 KB n = 2, 3 is a correct answer
7 Correct 1 ms 256 KB n = 3, 29 is a correct answer
8 Correct 0 ms 288 KB n = 2, 3 is a correct answer
9 Correct 1 ms 256 KB n = 2, 3 is a correct answer
10 Correct 0 ms 256 KB n = 2, 2000000001 is a correct answer
11 Correct 0 ms 256 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 256 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 256 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 256 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 256 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 256 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 256 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 256 KB n = 5, 12 is a correct answer
21 Correct 0 ms 256 KB n = 5, 25 is a correct answer
22 Correct 0 ms 256 KB n = 2, 122 is a correct answer
23 Correct 0 ms 256 KB n = 10, 117 is a correct answer
24 Incorrect 0 ms 256 KB n = 10, incorrect answer: jury 336 vs contestant 367
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB n = 4, 80 is a correct answer
2 Correct 0 ms 256 KB n = 9, 110 is a correct answer
3 Correct 1 ms 384 KB n = 4, 21 is a correct answer
4 Correct 0 ms 256 KB n = 3, 4 is a correct answer
5 Correct 0 ms 256 KB n = 2, 62 is a correct answer
6 Correct 0 ms 256 KB n = 2, 3 is a correct answer
7 Correct 1 ms 256 KB n = 3, 29 is a correct answer
8 Correct 0 ms 288 KB n = 2, 3 is a correct answer
9 Correct 1 ms 256 KB n = 2, 3 is a correct answer
10 Correct 0 ms 256 KB n = 2, 2000000001 is a correct answer
11 Correct 0 ms 256 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 256 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 256 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 256 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 256 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 256 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 256 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 256 KB n = 5, 12 is a correct answer
21 Correct 0 ms 256 KB n = 5, 25 is a correct answer
22 Correct 0 ms 256 KB n = 2, 122 is a correct answer
23 Correct 0 ms 256 KB n = 10, 117 is a correct answer
24 Incorrect 0 ms 256 KB n = 10, incorrect answer: jury 336 vs contestant 367
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB n = 4, 80 is a correct answer
2 Correct 0 ms 256 KB n = 9, 110 is a correct answer
3 Correct 1 ms 384 KB n = 4, 21 is a correct answer
4 Correct 0 ms 256 KB n = 3, 4 is a correct answer
5 Correct 0 ms 256 KB n = 2, 62 is a correct answer
6 Correct 0 ms 256 KB n = 2, 3 is a correct answer
7 Correct 1 ms 256 KB n = 3, 29 is a correct answer
8 Correct 0 ms 288 KB n = 2, 3 is a correct answer
9 Correct 1 ms 256 KB n = 2, 3 is a correct answer
10 Correct 0 ms 256 KB n = 2, 2000000001 is a correct answer
11 Correct 0 ms 256 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 256 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 256 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 256 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 256 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 256 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 256 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 256 KB n = 5, 12 is a correct answer
21 Correct 0 ms 256 KB n = 5, 25 is a correct answer
22 Correct 0 ms 256 KB n = 2, 122 is a correct answer
23 Correct 0 ms 256 KB n = 10, 117 is a correct answer
24 Incorrect 0 ms 256 KB n = 10, incorrect answer: jury 336 vs contestant 367
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB n = 4, 80 is a correct answer
2 Correct 0 ms 256 KB n = 9, 110 is a correct answer
3 Correct 1 ms 384 KB n = 4, 21 is a correct answer
4 Correct 0 ms 256 KB n = 3, 4 is a correct answer
5 Correct 0 ms 256 KB n = 2, 62 is a correct answer
6 Correct 0 ms 256 KB n = 2, 3 is a correct answer
7 Correct 1 ms 256 KB n = 3, 29 is a correct answer
8 Correct 0 ms 288 KB n = 2, 3 is a correct answer
9 Correct 1 ms 256 KB n = 2, 3 is a correct answer
10 Correct 0 ms 256 KB n = 2, 2000000001 is a correct answer
11 Correct 0 ms 256 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 256 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 256 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 256 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 256 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 256 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 256 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 256 KB n = 5, 12 is a correct answer
21 Correct 0 ms 256 KB n = 5, 25 is a correct answer
22 Correct 0 ms 256 KB n = 2, 122 is a correct answer
23 Correct 0 ms 256 KB n = 10, 117 is a correct answer
24 Incorrect 0 ms 256 KB n = 10, incorrect answer: jury 336 vs contestant 367
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB n = 4, 80 is a correct answer
2 Correct 0 ms 256 KB n = 9, 110 is a correct answer
3 Correct 1 ms 384 KB n = 4, 21 is a correct answer
4 Correct 0 ms 256 KB n = 3, 4 is a correct answer
5 Correct 0 ms 256 KB n = 2, 62 is a correct answer
6 Correct 0 ms 256 KB n = 2, 3 is a correct answer
7 Correct 1 ms 256 KB n = 3, 29 is a correct answer
8 Correct 0 ms 288 KB n = 2, 3 is a correct answer
9 Correct 1 ms 256 KB n = 2, 3 is a correct answer
10 Correct 0 ms 256 KB n = 2, 2000000001 is a correct answer
11 Correct 0 ms 256 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 256 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 256 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 256 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 256 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 256 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 256 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 256 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 256 KB n = 5, 12 is a correct answer
21 Correct 0 ms 256 KB n = 5, 25 is a correct answer
22 Correct 0 ms 256 KB n = 2, 122 is a correct answer
23 Correct 0 ms 256 KB n = 10, 117 is a correct answer
24 Incorrect 0 ms 256 KB n = 10, incorrect answer: jury 336 vs contestant 367
25 Halted 0 ms 0 KB -