Submission #206372

# Submission time Handle Problem Language Result Execution time Memory
206372 2020-03-03T06:07:36 Z autumn_eel Shortcut (IOI16_shortcut) C++14
0 / 100
21 ms 376 KB
#include "shortcut.h"
#include <bits/stdc++.h>
#define rep(i,n)for(int i=0;i<(n);i++)
using namespace std;
typedef long long ll;

ll L[5000],L2[5000],R[5000],R2[5000];
ll sum[5000];

long long find_shortcut(int n, std::vector<int> l, std::vector<int> d, int c)
{
	assert(n<=500);
	rep(i,n){
		if(i){
			L[i]=L[i-1]+l[i-1];
			L2[i]=max(L2[i-1],L[i]+d[i]);
		}
		L[i]=max(L[i],(ll)d[i]);
		L2[i]=max(L2[i],(ll)d[i]);
	}
	for(int i=n-1;i>=0;i--){
		if(i<n-1){
			R[i]=R[i+1]+l[i];
			R2[i]=max(R2[i+1],R[i]+d[i]);
		}
		R[i]=max(R[i],(ll)d[i]);
		R2[i]=max(R2[i],(ll)d[i]);
	}
	rep(i,n-1)sum[i+1]=sum[i]+l[i];
	ll Min=L2[n-1];
	rep(i,n)for(int j=i+1;j<n;j++){
		ll Max=max({L2[i],R2[j],L[i]+c+R[j]});
		for(int k=i+1;k<j;k++){
			Max=max(Max,L[i]+min(c+(sum[j]-sum[k]),sum[k]-sum[i])+d[k]);
			Max=max(Max,R[j]+min(c+(sum[k]-sum[i]),sum[j]-sum[k])+d[k]);
		}
		int s=i+1;
		ll M=0;
		multiset<ll>se;
		for(int k=i+1;k<j;k++){
			while(s<k&&(sum[j]-sum[k])+c+(sum[s]-sum[i])<=(sum[k]-sum[s])){
				M=max(M,(sum[j]-sum[k])+c+(sum[s]-sum[i])+d[s]);
				se.erase(se.find(d[s]-sum[s]));
				s++;
			}
			Max=max(Max,M+d[k]);
			if(!se.empty())Max=max(Max,*se.rbegin()+sum[k]+d[k]);
			se.insert(d[k]-sum[k]);
		}
		Min=min(Min,Max);
	}
    return Min;
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB n = 4, 80 is a correct answer
2 Correct 5 ms 376 KB n = 9, 110 is a correct answer
3 Correct 4 ms 376 KB n = 4, 21 is a correct answer
4 Correct 5 ms 376 KB n = 3, 4 is a correct answer
5 Correct 4 ms 376 KB n = 2, 62 is a correct answer
6 Correct 5 ms 376 KB n = 2, 3 is a correct answer
7 Correct 4 ms 376 KB n = 3, 29 is a correct answer
8 Correct 5 ms 376 KB n = 2, 3 is a correct answer
9 Correct 5 ms 376 KB n = 2, 3 is a correct answer
10 Correct 5 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 5 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 376 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 5 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 376 KB n = 5, 12 is a correct answer
21 Correct 5 ms 376 KB n = 5, 25 is a correct answer
22 Correct 5 ms 376 KB n = 2, 122 is a correct answer
23 Correct 5 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 5 ms 376 KB n = 10, 438 is a correct answer
26 Correct 5 ms 376 KB n = 10, 206 is a correct answer
27 Correct 5 ms 376 KB n = 10, 636 is a correct answer
28 Correct 5 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 376 KB n = 10, 3112 is a correct answer
31 Correct 19 ms 376 KB n = 100, 51000000001 is a correct answer
32 Correct 6 ms 376 KB n = 50, 197881272 is a correct answer
33 Incorrect 21 ms 376 KB n = 100, incorrect answer: jury 20969 vs contestant 20970
34 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB n = 4, 80 is a correct answer
2 Correct 5 ms 376 KB n = 9, 110 is a correct answer
3 Correct 4 ms 376 KB n = 4, 21 is a correct answer
4 Correct 5 ms 376 KB n = 3, 4 is a correct answer
5 Correct 4 ms 376 KB n = 2, 62 is a correct answer
6 Correct 5 ms 376 KB n = 2, 3 is a correct answer
7 Correct 4 ms 376 KB n = 3, 29 is a correct answer
8 Correct 5 ms 376 KB n = 2, 3 is a correct answer
9 Correct 5 ms 376 KB n = 2, 3 is a correct answer
10 Correct 5 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 5 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 376 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 5 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 376 KB n = 5, 12 is a correct answer
21 Correct 5 ms 376 KB n = 5, 25 is a correct answer
22 Correct 5 ms 376 KB n = 2, 122 is a correct answer
23 Correct 5 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 5 ms 376 KB n = 10, 438 is a correct answer
26 Correct 5 ms 376 KB n = 10, 206 is a correct answer
27 Correct 5 ms 376 KB n = 10, 636 is a correct answer
28 Correct 5 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 376 KB n = 10, 3112 is a correct answer
31 Correct 19 ms 376 KB n = 100, 51000000001 is a correct answer
32 Correct 6 ms 376 KB n = 50, 197881272 is a correct answer
33 Incorrect 21 ms 376 KB n = 100, incorrect answer: jury 20969 vs contestant 20970
34 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB n = 4, 80 is a correct answer
2 Correct 5 ms 376 KB n = 9, 110 is a correct answer
3 Correct 4 ms 376 KB n = 4, 21 is a correct answer
4 Correct 5 ms 376 KB n = 3, 4 is a correct answer
5 Correct 4 ms 376 KB n = 2, 62 is a correct answer
6 Correct 5 ms 376 KB n = 2, 3 is a correct answer
7 Correct 4 ms 376 KB n = 3, 29 is a correct answer
8 Correct 5 ms 376 KB n = 2, 3 is a correct answer
9 Correct 5 ms 376 KB n = 2, 3 is a correct answer
10 Correct 5 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 5 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 376 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 5 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 376 KB n = 5, 12 is a correct answer
21 Correct 5 ms 376 KB n = 5, 25 is a correct answer
22 Correct 5 ms 376 KB n = 2, 122 is a correct answer
23 Correct 5 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 5 ms 376 KB n = 10, 438 is a correct answer
26 Correct 5 ms 376 KB n = 10, 206 is a correct answer
27 Correct 5 ms 376 KB n = 10, 636 is a correct answer
28 Correct 5 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 376 KB n = 10, 3112 is a correct answer
31 Correct 19 ms 376 KB n = 100, 51000000001 is a correct answer
32 Correct 6 ms 376 KB n = 50, 197881272 is a correct answer
33 Incorrect 21 ms 376 KB n = 100, incorrect answer: jury 20969 vs contestant 20970
34 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB n = 4, 80 is a correct answer
2 Correct 5 ms 376 KB n = 9, 110 is a correct answer
3 Correct 4 ms 376 KB n = 4, 21 is a correct answer
4 Correct 5 ms 376 KB n = 3, 4 is a correct answer
5 Correct 4 ms 376 KB n = 2, 62 is a correct answer
6 Correct 5 ms 376 KB n = 2, 3 is a correct answer
7 Correct 4 ms 376 KB n = 3, 29 is a correct answer
8 Correct 5 ms 376 KB n = 2, 3 is a correct answer
9 Correct 5 ms 376 KB n = 2, 3 is a correct answer
10 Correct 5 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 5 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 376 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 5 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 376 KB n = 5, 12 is a correct answer
21 Correct 5 ms 376 KB n = 5, 25 is a correct answer
22 Correct 5 ms 376 KB n = 2, 122 is a correct answer
23 Correct 5 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 5 ms 376 KB n = 10, 438 is a correct answer
26 Correct 5 ms 376 KB n = 10, 206 is a correct answer
27 Correct 5 ms 376 KB n = 10, 636 is a correct answer
28 Correct 5 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 376 KB n = 10, 3112 is a correct answer
31 Correct 19 ms 376 KB n = 100, 51000000001 is a correct answer
32 Correct 6 ms 376 KB n = 50, 197881272 is a correct answer
33 Incorrect 21 ms 376 KB n = 100, incorrect answer: jury 20969 vs contestant 20970
34 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB n = 4, 80 is a correct answer
2 Correct 5 ms 376 KB n = 9, 110 is a correct answer
3 Correct 4 ms 376 KB n = 4, 21 is a correct answer
4 Correct 5 ms 376 KB n = 3, 4 is a correct answer
5 Correct 4 ms 376 KB n = 2, 62 is a correct answer
6 Correct 5 ms 376 KB n = 2, 3 is a correct answer
7 Correct 4 ms 376 KB n = 3, 29 is a correct answer
8 Correct 5 ms 376 KB n = 2, 3 is a correct answer
9 Correct 5 ms 376 KB n = 2, 3 is a correct answer
10 Correct 5 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 5 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 376 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 5 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 376 KB n = 5, 12 is a correct answer
21 Correct 5 ms 376 KB n = 5, 25 is a correct answer
22 Correct 5 ms 376 KB n = 2, 122 is a correct answer
23 Correct 5 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 5 ms 376 KB n = 10, 438 is a correct answer
26 Correct 5 ms 376 KB n = 10, 206 is a correct answer
27 Correct 5 ms 376 KB n = 10, 636 is a correct answer
28 Correct 5 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 376 KB n = 10, 3112 is a correct answer
31 Correct 19 ms 376 KB n = 100, 51000000001 is a correct answer
32 Correct 6 ms 376 KB n = 50, 197881272 is a correct answer
33 Incorrect 21 ms 376 KB n = 100, incorrect answer: jury 20969 vs contestant 20970
34 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB n = 4, 80 is a correct answer
2 Correct 5 ms 376 KB n = 9, 110 is a correct answer
3 Correct 4 ms 376 KB n = 4, 21 is a correct answer
4 Correct 5 ms 376 KB n = 3, 4 is a correct answer
5 Correct 4 ms 376 KB n = 2, 62 is a correct answer
6 Correct 5 ms 376 KB n = 2, 3 is a correct answer
7 Correct 4 ms 376 KB n = 3, 29 is a correct answer
8 Correct 5 ms 376 KB n = 2, 3 is a correct answer
9 Correct 5 ms 376 KB n = 2, 3 is a correct answer
10 Correct 5 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 5 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 376 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 5 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 376 KB n = 5, 12 is a correct answer
21 Correct 5 ms 376 KB n = 5, 25 is a correct answer
22 Correct 5 ms 376 KB n = 2, 122 is a correct answer
23 Correct 5 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 5 ms 376 KB n = 10, 438 is a correct answer
26 Correct 5 ms 376 KB n = 10, 206 is a correct answer
27 Correct 5 ms 376 KB n = 10, 636 is a correct answer
28 Correct 5 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 376 KB n = 10, 3112 is a correct answer
31 Correct 19 ms 376 KB n = 100, 51000000001 is a correct answer
32 Correct 6 ms 376 KB n = 50, 197881272 is a correct answer
33 Incorrect 21 ms 376 KB n = 100, incorrect answer: jury 20969 vs contestant 20970
34 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB n = 4, 80 is a correct answer
2 Correct 5 ms 376 KB n = 9, 110 is a correct answer
3 Correct 4 ms 376 KB n = 4, 21 is a correct answer
4 Correct 5 ms 376 KB n = 3, 4 is a correct answer
5 Correct 4 ms 376 KB n = 2, 62 is a correct answer
6 Correct 5 ms 376 KB n = 2, 3 is a correct answer
7 Correct 4 ms 376 KB n = 3, 29 is a correct answer
8 Correct 5 ms 376 KB n = 2, 3 is a correct answer
9 Correct 5 ms 376 KB n = 2, 3 is a correct answer
10 Correct 5 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 5 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 376 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 5 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 376 KB n = 5, 12 is a correct answer
21 Correct 5 ms 376 KB n = 5, 25 is a correct answer
22 Correct 5 ms 376 KB n = 2, 122 is a correct answer
23 Correct 5 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 5 ms 376 KB n = 10, 438 is a correct answer
26 Correct 5 ms 376 KB n = 10, 206 is a correct answer
27 Correct 5 ms 376 KB n = 10, 636 is a correct answer
28 Correct 5 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 376 KB n = 10, 3112 is a correct answer
31 Correct 19 ms 376 KB n = 100, 51000000001 is a correct answer
32 Correct 6 ms 376 KB n = 50, 197881272 is a correct answer
33 Incorrect 21 ms 376 KB n = 100, incorrect answer: jury 20969 vs contestant 20970
34 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB n = 4, 80 is a correct answer
2 Correct 5 ms 376 KB n = 9, 110 is a correct answer
3 Correct 4 ms 376 KB n = 4, 21 is a correct answer
4 Correct 5 ms 376 KB n = 3, 4 is a correct answer
5 Correct 4 ms 376 KB n = 2, 62 is a correct answer
6 Correct 5 ms 376 KB n = 2, 3 is a correct answer
7 Correct 4 ms 376 KB n = 3, 29 is a correct answer
8 Correct 5 ms 376 KB n = 2, 3 is a correct answer
9 Correct 5 ms 376 KB n = 2, 3 is a correct answer
10 Correct 5 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 5 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
13 Correct 5 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 5 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 5 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 5 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 376 KB n = 10, 1000000343 is a correct answer
18 Correct 5 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 5 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 5 ms 376 KB n = 5, 12 is a correct answer
21 Correct 5 ms 376 KB n = 5, 25 is a correct answer
22 Correct 5 ms 376 KB n = 2, 122 is a correct answer
23 Correct 5 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 5 ms 376 KB n = 10, 438 is a correct answer
26 Correct 5 ms 376 KB n = 10, 206 is a correct answer
27 Correct 5 ms 376 KB n = 10, 636 is a correct answer
28 Correct 5 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 5 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 5 ms 376 KB n = 10, 3112 is a correct answer
31 Correct 19 ms 376 KB n = 100, 51000000001 is a correct answer
32 Correct 6 ms 376 KB n = 50, 197881272 is a correct answer
33 Incorrect 21 ms 376 KB n = 100, incorrect answer: jury 20969 vs contestant 20970
34 Halted 0 ms 0 KB -