답안 #241263

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
241263 2020-06-23T12:01:33 Z crossing0ver Shortcut (IOI16_shortcut) C++17
0 / 100
15 ms 384 KB
#include<bits/stdc++.h>
#define ll long long 
#define inf 10000000000
//#include "shortcut.h"
using namespace std;
ll L[100005],R[100005],mxL[100005],mxR[100005],loc[100005],LFT[100005],RGHT[100005];

ll find_shortcut(int n, std::vector<int> l, std::vector<int> d, int c)
{
	for (int i = 1; i <= n-1; i++) L[i] = l[i-1], R[i-1] = l[i-1];
	set<int,greater<int> > g;
	
	for (int i = 0; i < n; i++) {
		if (i == 0) mxL[i] = d[i];
		else 
			mxL[i] = max(1ll*d[i],mxL[i-1] + L[i]);
		if (i != 0) loc[i] = loc[i-1] + L[i];
		if (i == 0) LFT[i] = d[i];
		else 
		LFT[i] = max(*g.begin() + loc[i] + d[i],LFT[i-1]);
		g.insert(d[i] - loc[i]);
	}
	g.clear();
	for (int i = n-1; i > 0; i--) {
		if (i == n-1) mxR[i] = d[i];
		else 
			mxR[i] = max(1ll*d[i],mxR[i+1] + R[i]);
		if (i == n-1) RGHT[i] = d[i];
		else 
		RGHT[i] = max(*g.begin() - loc[i] + d[i],RGHT[i+1]);
		g.insert(d[i] + loc[i]);
	}
	ll ans = inf;
	for (int i = 1; i < n; i++) {
		ll length = 0;
		for (int j = i - 1; j >= 0; j--) {
			 length+= R[j];
			ll localMin = mxR[i] + mxL[j] + min(length,1ll*c); 
		ll smallL = 0;
		for (int k = j+1; k <= i; k++) {
			 smallL += L[k];
			localMin = max(localMin,mxL[j] + d[k] + min(smallL,length + c - smallL));
			if (k != i) localMin = max(localMin,mxR[i] + d[k] + min(smallL + c,length - smallL));
		ll partL = 0;
		for (int e = j; e < k; e++) {
			if (e != j) partL += L[e];
			localMin = max(localMin,d[e] + d[k] + min(smallL - partL, length + c - (smallL - partL)));
		}			
		}
	//	if (n != 3)
		ans = min(ans,max({localMin,RGHT[i],LFT[j]}));
	//	else 
	//	if (localMin == 3) 
	//	return length;		
	}
	}
		return ans;
	
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB n = 4, 80 is a correct answer
2 Correct 5 ms 384 KB n = 9, 110 is a correct answer
3 Correct 4 ms 384 KB n = 4, 21 is a correct answer
4 Correct 5 ms 384 KB n = 3, 4 is a correct answer
5 Correct 5 ms 384 KB n = 2, 62 is a correct answer
6 Correct 5 ms 384 KB n = 2, 3 is a correct answer
7 Correct 5 ms 384 KB n = 3, 29 is a correct answer
8 Correct 4 ms 384 KB n = 2, 3 is a correct answer
9 Correct 5 ms 384 KB n = 2, 3 is a correct answer
10 Correct 4 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 4 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 5 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 384 KB n = 10, 3189 is a correct answer
19 Correct 4 ms 384 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 384 KB n = 5, 12 is a correct answer
21 Correct 5 ms 384 KB n = 5, 25 is a correct answer
22 Correct 5 ms 384 KB n = 2, 122 is a correct answer
23 Correct 4 ms 384 KB n = 10, 117 is a correct answer
24 Correct 4 ms 384 KB n = 10, 336 is a correct answer
25 Correct 4 ms 384 KB n = 10, 438 is a correct answer
26 Correct 4 ms 384 KB n = 10, 206 is a correct answer
27 Correct 5 ms 384 KB n = 10, 636 is a correct answer
28 Correct 5 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 384 KB n = 10, 3112 is a correct answer
31 Incorrect 15 ms 384 KB n = 100, incorrect answer: jury 51000000001 vs contestant 10000000000
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB n = 4, 80 is a correct answer
2 Correct 5 ms 384 KB n = 9, 110 is a correct answer
3 Correct 4 ms 384 KB n = 4, 21 is a correct answer
4 Correct 5 ms 384 KB n = 3, 4 is a correct answer
5 Correct 5 ms 384 KB n = 2, 62 is a correct answer
6 Correct 5 ms 384 KB n = 2, 3 is a correct answer
7 Correct 5 ms 384 KB n = 3, 29 is a correct answer
8 Correct 4 ms 384 KB n = 2, 3 is a correct answer
9 Correct 5 ms 384 KB n = 2, 3 is a correct answer
10 Correct 4 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 4 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 5 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 384 KB n = 10, 3189 is a correct answer
19 Correct 4 ms 384 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 384 KB n = 5, 12 is a correct answer
21 Correct 5 ms 384 KB n = 5, 25 is a correct answer
22 Correct 5 ms 384 KB n = 2, 122 is a correct answer
23 Correct 4 ms 384 KB n = 10, 117 is a correct answer
24 Correct 4 ms 384 KB n = 10, 336 is a correct answer
25 Correct 4 ms 384 KB n = 10, 438 is a correct answer
26 Correct 4 ms 384 KB n = 10, 206 is a correct answer
27 Correct 5 ms 384 KB n = 10, 636 is a correct answer
28 Correct 5 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 384 KB n = 10, 3112 is a correct answer
31 Incorrect 15 ms 384 KB n = 100, incorrect answer: jury 51000000001 vs contestant 10000000000
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB n = 4, 80 is a correct answer
2 Correct 5 ms 384 KB n = 9, 110 is a correct answer
3 Correct 4 ms 384 KB n = 4, 21 is a correct answer
4 Correct 5 ms 384 KB n = 3, 4 is a correct answer
5 Correct 5 ms 384 KB n = 2, 62 is a correct answer
6 Correct 5 ms 384 KB n = 2, 3 is a correct answer
7 Correct 5 ms 384 KB n = 3, 29 is a correct answer
8 Correct 4 ms 384 KB n = 2, 3 is a correct answer
9 Correct 5 ms 384 KB n = 2, 3 is a correct answer
10 Correct 4 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 4 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 5 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 384 KB n = 10, 3189 is a correct answer
19 Correct 4 ms 384 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 384 KB n = 5, 12 is a correct answer
21 Correct 5 ms 384 KB n = 5, 25 is a correct answer
22 Correct 5 ms 384 KB n = 2, 122 is a correct answer
23 Correct 4 ms 384 KB n = 10, 117 is a correct answer
24 Correct 4 ms 384 KB n = 10, 336 is a correct answer
25 Correct 4 ms 384 KB n = 10, 438 is a correct answer
26 Correct 4 ms 384 KB n = 10, 206 is a correct answer
27 Correct 5 ms 384 KB n = 10, 636 is a correct answer
28 Correct 5 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 384 KB n = 10, 3112 is a correct answer
31 Incorrect 15 ms 384 KB n = 100, incorrect answer: jury 51000000001 vs contestant 10000000000
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB n = 4, 80 is a correct answer
2 Correct 5 ms 384 KB n = 9, 110 is a correct answer
3 Correct 4 ms 384 KB n = 4, 21 is a correct answer
4 Correct 5 ms 384 KB n = 3, 4 is a correct answer
5 Correct 5 ms 384 KB n = 2, 62 is a correct answer
6 Correct 5 ms 384 KB n = 2, 3 is a correct answer
7 Correct 5 ms 384 KB n = 3, 29 is a correct answer
8 Correct 4 ms 384 KB n = 2, 3 is a correct answer
9 Correct 5 ms 384 KB n = 2, 3 is a correct answer
10 Correct 4 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 4 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 5 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 384 KB n = 10, 3189 is a correct answer
19 Correct 4 ms 384 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 384 KB n = 5, 12 is a correct answer
21 Correct 5 ms 384 KB n = 5, 25 is a correct answer
22 Correct 5 ms 384 KB n = 2, 122 is a correct answer
23 Correct 4 ms 384 KB n = 10, 117 is a correct answer
24 Correct 4 ms 384 KB n = 10, 336 is a correct answer
25 Correct 4 ms 384 KB n = 10, 438 is a correct answer
26 Correct 4 ms 384 KB n = 10, 206 is a correct answer
27 Correct 5 ms 384 KB n = 10, 636 is a correct answer
28 Correct 5 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 384 KB n = 10, 3112 is a correct answer
31 Incorrect 15 ms 384 KB n = 100, incorrect answer: jury 51000000001 vs contestant 10000000000
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB n = 4, 80 is a correct answer
2 Correct 5 ms 384 KB n = 9, 110 is a correct answer
3 Correct 4 ms 384 KB n = 4, 21 is a correct answer
4 Correct 5 ms 384 KB n = 3, 4 is a correct answer
5 Correct 5 ms 384 KB n = 2, 62 is a correct answer
6 Correct 5 ms 384 KB n = 2, 3 is a correct answer
7 Correct 5 ms 384 KB n = 3, 29 is a correct answer
8 Correct 4 ms 384 KB n = 2, 3 is a correct answer
9 Correct 5 ms 384 KB n = 2, 3 is a correct answer
10 Correct 4 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 4 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 5 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 384 KB n = 10, 3189 is a correct answer
19 Correct 4 ms 384 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 384 KB n = 5, 12 is a correct answer
21 Correct 5 ms 384 KB n = 5, 25 is a correct answer
22 Correct 5 ms 384 KB n = 2, 122 is a correct answer
23 Correct 4 ms 384 KB n = 10, 117 is a correct answer
24 Correct 4 ms 384 KB n = 10, 336 is a correct answer
25 Correct 4 ms 384 KB n = 10, 438 is a correct answer
26 Correct 4 ms 384 KB n = 10, 206 is a correct answer
27 Correct 5 ms 384 KB n = 10, 636 is a correct answer
28 Correct 5 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 384 KB n = 10, 3112 is a correct answer
31 Incorrect 15 ms 384 KB n = 100, incorrect answer: jury 51000000001 vs contestant 10000000000
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB n = 4, 80 is a correct answer
2 Correct 5 ms 384 KB n = 9, 110 is a correct answer
3 Correct 4 ms 384 KB n = 4, 21 is a correct answer
4 Correct 5 ms 384 KB n = 3, 4 is a correct answer
5 Correct 5 ms 384 KB n = 2, 62 is a correct answer
6 Correct 5 ms 384 KB n = 2, 3 is a correct answer
7 Correct 5 ms 384 KB n = 3, 29 is a correct answer
8 Correct 4 ms 384 KB n = 2, 3 is a correct answer
9 Correct 5 ms 384 KB n = 2, 3 is a correct answer
10 Correct 4 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 4 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 5 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 384 KB n = 10, 3189 is a correct answer
19 Correct 4 ms 384 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 384 KB n = 5, 12 is a correct answer
21 Correct 5 ms 384 KB n = 5, 25 is a correct answer
22 Correct 5 ms 384 KB n = 2, 122 is a correct answer
23 Correct 4 ms 384 KB n = 10, 117 is a correct answer
24 Correct 4 ms 384 KB n = 10, 336 is a correct answer
25 Correct 4 ms 384 KB n = 10, 438 is a correct answer
26 Correct 4 ms 384 KB n = 10, 206 is a correct answer
27 Correct 5 ms 384 KB n = 10, 636 is a correct answer
28 Correct 5 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 384 KB n = 10, 3112 is a correct answer
31 Incorrect 15 ms 384 KB n = 100, incorrect answer: jury 51000000001 vs contestant 10000000000
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB n = 4, 80 is a correct answer
2 Correct 5 ms 384 KB n = 9, 110 is a correct answer
3 Correct 4 ms 384 KB n = 4, 21 is a correct answer
4 Correct 5 ms 384 KB n = 3, 4 is a correct answer
5 Correct 5 ms 384 KB n = 2, 62 is a correct answer
6 Correct 5 ms 384 KB n = 2, 3 is a correct answer
7 Correct 5 ms 384 KB n = 3, 29 is a correct answer
8 Correct 4 ms 384 KB n = 2, 3 is a correct answer
9 Correct 5 ms 384 KB n = 2, 3 is a correct answer
10 Correct 4 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 4 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 5 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 384 KB n = 10, 3189 is a correct answer
19 Correct 4 ms 384 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 384 KB n = 5, 12 is a correct answer
21 Correct 5 ms 384 KB n = 5, 25 is a correct answer
22 Correct 5 ms 384 KB n = 2, 122 is a correct answer
23 Correct 4 ms 384 KB n = 10, 117 is a correct answer
24 Correct 4 ms 384 KB n = 10, 336 is a correct answer
25 Correct 4 ms 384 KB n = 10, 438 is a correct answer
26 Correct 4 ms 384 KB n = 10, 206 is a correct answer
27 Correct 5 ms 384 KB n = 10, 636 is a correct answer
28 Correct 5 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 384 KB n = 10, 3112 is a correct answer
31 Incorrect 15 ms 384 KB n = 100, incorrect answer: jury 51000000001 vs contestant 10000000000
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB n = 4, 80 is a correct answer
2 Correct 5 ms 384 KB n = 9, 110 is a correct answer
3 Correct 4 ms 384 KB n = 4, 21 is a correct answer
4 Correct 5 ms 384 KB n = 3, 4 is a correct answer
5 Correct 5 ms 384 KB n = 2, 62 is a correct answer
6 Correct 5 ms 384 KB n = 2, 3 is a correct answer
7 Correct 5 ms 384 KB n = 3, 29 is a correct answer
8 Correct 4 ms 384 KB n = 2, 3 is a correct answer
9 Correct 5 ms 384 KB n = 2, 3 is a correct answer
10 Correct 4 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 4 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 5 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 384 KB n = 10, 3189 is a correct answer
19 Correct 4 ms 384 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 384 KB n = 5, 12 is a correct answer
21 Correct 5 ms 384 KB n = 5, 25 is a correct answer
22 Correct 5 ms 384 KB n = 2, 122 is a correct answer
23 Correct 4 ms 384 KB n = 10, 117 is a correct answer
24 Correct 4 ms 384 KB n = 10, 336 is a correct answer
25 Correct 4 ms 384 KB n = 10, 438 is a correct answer
26 Correct 4 ms 384 KB n = 10, 206 is a correct answer
27 Correct 5 ms 384 KB n = 10, 636 is a correct answer
28 Correct 5 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 384 KB n = 10, 3112 is a correct answer
31 Incorrect 15 ms 384 KB n = 100, incorrect answer: jury 51000000001 vs contestant 10000000000
32 Halted 0 ms 0 KB -