#include<bits/stdc++.h>
#include "shortcut.h"
using namespace std;
using ll=long long;
const ll MAX_SOM=3000+5,INFINI=(ll)1000*1000*1000*1000*1000*1000;
ll nbSom,prixNouv,rep;
ll cumu[MAX_SOM];
ll distStat[MAX_SOM];
ll calcDist(ll a,ll b) {
if (a>b) {
swap(a,b);
}
return cumu[b]-cumu[a];
}
ll calcInter(ll deb,ll fin) {
ll diam=0;
for (ll i=deb;i<=fin;i++) {
for (ll j=deb+1;j<=fin;j++) {
diam=max(diam,calcDist(i,j)+distStat[i]+distStat[j]);
}
}
return diam;
}
ll calcDiam(ll deb,ll fin) {
ll diam=0;
ll tempDeb=distStat[deb],tempFin=distStat[fin];
for (ll i=0;i<deb;i++) {
distStat[deb]=max(distStat[deb],calcDist(i,deb)+distStat[i]);
}
for (ll i=fin+1;i<nbSom;i++) {
distStat[fin]=max(distStat[fin],calcDist(fin,i)+distStat[i]);
}
diam=max(calcInter(0,deb),calcInter(fin,nbSom-1));
for (ll a=deb;a<=fin;a++) {
for (ll b=a+1;b<=fin;b++) {
diam=max(diam,min(calcDist(a,b),calcDist(a,deb)+calcDist(b,fin)+prixNouv)+distStat[a]+distStat[b]);
}
}
distStat[deb]=tempDeb;
distStat[fin]=tempFin;
//cout<<deb<<" "<<fin<<" "<<diam<<endl;
return diam;
}
ll find_shortcut(int n,vector<int> l,vector<int> d,int c) {
nbSom=n;
prixNouv=c;
for (ll i=1;i<nbSom;i++) {
cumu[i]=cumu[i-1]+l[i-1];
}
for (ll i=0;i<nbSom;i++) {
distStat[i]=d[i];
}
rep=INFINI;
for (ll i=0;i<nbSom;i++) {
for (ll j=i+1;j<nbSom;j++) {
rep=min(rep,calcDiam(i,j));
}
}
return rep;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
300 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
212 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
212 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
1 ms |
340 KB |
n = 3, 4 is a correct answer |
5 |
Correct |
0 ms |
212 KB |
n = 2, 62 is a correct answer |
6 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
7 |
Correct |
1 ms |
340 KB |
n = 3, 29 is a correct answer |
8 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
9 |
Correct |
0 ms |
212 KB |
n = 2, 3 is a correct answer |
10 |
Correct |
1 ms |
212 KB |
n = 2, 2000000001 is a correct answer |
11 |
Correct |
1 ms |
212 KB |
n = 2, 3000000000 is a correct answer |
12 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
13 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
14 |
Correct |
1 ms |
212 KB |
n = 4, 3000000001 is a correct answer |
15 |
Correct |
1 ms |
212 KB |
n = 4, 4000000000 is a correct answer |
16 |
Correct |
1 ms |
212 KB |
n = 5, 4000000000 is a correct answer |
17 |
Correct |
1 ms |
212 KB |
n = 10, 1000000343 is a correct answer |
18 |
Correct |
1 ms |
212 KB |
n = 10, 3189 is a correct answer |
19 |
Correct |
0 ms |
212 KB |
n = 10, 7000000000 is a correct answer |
20 |
Correct |
1 ms |
212 KB |
n = 5, 12 is a correct answer |
21 |
Correct |
1 ms |
212 KB |
n = 5, 25 is a correct answer |
22 |
Correct |
1 ms |
212 KB |
n = 2, 122 is a correct answer |
23 |
Correct |
1 ms |
212 KB |
n = 10, 117 is a correct answer |
24 |
Incorrect |
1 ms |
212 KB |
n = 10, incorrect answer: jury 336 vs contestant 360 |
25 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
300 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
212 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
212 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
1 ms |
340 KB |
n = 3, 4 is a correct answer |
5 |
Correct |
0 ms |
212 KB |
n = 2, 62 is a correct answer |
6 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
7 |
Correct |
1 ms |
340 KB |
n = 3, 29 is a correct answer |
8 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
9 |
Correct |
0 ms |
212 KB |
n = 2, 3 is a correct answer |
10 |
Correct |
1 ms |
212 KB |
n = 2, 2000000001 is a correct answer |
11 |
Correct |
1 ms |
212 KB |
n = 2, 3000000000 is a correct answer |
12 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
13 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
14 |
Correct |
1 ms |
212 KB |
n = 4, 3000000001 is a correct answer |
15 |
Correct |
1 ms |
212 KB |
n = 4, 4000000000 is a correct answer |
16 |
Correct |
1 ms |
212 KB |
n = 5, 4000000000 is a correct answer |
17 |
Correct |
1 ms |
212 KB |
n = 10, 1000000343 is a correct answer |
18 |
Correct |
1 ms |
212 KB |
n = 10, 3189 is a correct answer |
19 |
Correct |
0 ms |
212 KB |
n = 10, 7000000000 is a correct answer |
20 |
Correct |
1 ms |
212 KB |
n = 5, 12 is a correct answer |
21 |
Correct |
1 ms |
212 KB |
n = 5, 25 is a correct answer |
22 |
Correct |
1 ms |
212 KB |
n = 2, 122 is a correct answer |
23 |
Correct |
1 ms |
212 KB |
n = 10, 117 is a correct answer |
24 |
Incorrect |
1 ms |
212 KB |
n = 10, incorrect answer: jury 336 vs contestant 360 |
25 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
300 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
212 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
212 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
1 ms |
340 KB |
n = 3, 4 is a correct answer |
5 |
Correct |
0 ms |
212 KB |
n = 2, 62 is a correct answer |
6 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
7 |
Correct |
1 ms |
340 KB |
n = 3, 29 is a correct answer |
8 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
9 |
Correct |
0 ms |
212 KB |
n = 2, 3 is a correct answer |
10 |
Correct |
1 ms |
212 KB |
n = 2, 2000000001 is a correct answer |
11 |
Correct |
1 ms |
212 KB |
n = 2, 3000000000 is a correct answer |
12 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
13 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
14 |
Correct |
1 ms |
212 KB |
n = 4, 3000000001 is a correct answer |
15 |
Correct |
1 ms |
212 KB |
n = 4, 4000000000 is a correct answer |
16 |
Correct |
1 ms |
212 KB |
n = 5, 4000000000 is a correct answer |
17 |
Correct |
1 ms |
212 KB |
n = 10, 1000000343 is a correct answer |
18 |
Correct |
1 ms |
212 KB |
n = 10, 3189 is a correct answer |
19 |
Correct |
0 ms |
212 KB |
n = 10, 7000000000 is a correct answer |
20 |
Correct |
1 ms |
212 KB |
n = 5, 12 is a correct answer |
21 |
Correct |
1 ms |
212 KB |
n = 5, 25 is a correct answer |
22 |
Correct |
1 ms |
212 KB |
n = 2, 122 is a correct answer |
23 |
Correct |
1 ms |
212 KB |
n = 10, 117 is a correct answer |
24 |
Incorrect |
1 ms |
212 KB |
n = 10, incorrect answer: jury 336 vs contestant 360 |
25 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
300 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
212 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
212 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
1 ms |
340 KB |
n = 3, 4 is a correct answer |
5 |
Correct |
0 ms |
212 KB |
n = 2, 62 is a correct answer |
6 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
7 |
Correct |
1 ms |
340 KB |
n = 3, 29 is a correct answer |
8 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
9 |
Correct |
0 ms |
212 KB |
n = 2, 3 is a correct answer |
10 |
Correct |
1 ms |
212 KB |
n = 2, 2000000001 is a correct answer |
11 |
Correct |
1 ms |
212 KB |
n = 2, 3000000000 is a correct answer |
12 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
13 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
14 |
Correct |
1 ms |
212 KB |
n = 4, 3000000001 is a correct answer |
15 |
Correct |
1 ms |
212 KB |
n = 4, 4000000000 is a correct answer |
16 |
Correct |
1 ms |
212 KB |
n = 5, 4000000000 is a correct answer |
17 |
Correct |
1 ms |
212 KB |
n = 10, 1000000343 is a correct answer |
18 |
Correct |
1 ms |
212 KB |
n = 10, 3189 is a correct answer |
19 |
Correct |
0 ms |
212 KB |
n = 10, 7000000000 is a correct answer |
20 |
Correct |
1 ms |
212 KB |
n = 5, 12 is a correct answer |
21 |
Correct |
1 ms |
212 KB |
n = 5, 25 is a correct answer |
22 |
Correct |
1 ms |
212 KB |
n = 2, 122 is a correct answer |
23 |
Correct |
1 ms |
212 KB |
n = 10, 117 is a correct answer |
24 |
Incorrect |
1 ms |
212 KB |
n = 10, incorrect answer: jury 336 vs contestant 360 |
25 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
300 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
212 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
212 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
1 ms |
340 KB |
n = 3, 4 is a correct answer |
5 |
Correct |
0 ms |
212 KB |
n = 2, 62 is a correct answer |
6 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
7 |
Correct |
1 ms |
340 KB |
n = 3, 29 is a correct answer |
8 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
9 |
Correct |
0 ms |
212 KB |
n = 2, 3 is a correct answer |
10 |
Correct |
1 ms |
212 KB |
n = 2, 2000000001 is a correct answer |
11 |
Correct |
1 ms |
212 KB |
n = 2, 3000000000 is a correct answer |
12 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
13 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
14 |
Correct |
1 ms |
212 KB |
n = 4, 3000000001 is a correct answer |
15 |
Correct |
1 ms |
212 KB |
n = 4, 4000000000 is a correct answer |
16 |
Correct |
1 ms |
212 KB |
n = 5, 4000000000 is a correct answer |
17 |
Correct |
1 ms |
212 KB |
n = 10, 1000000343 is a correct answer |
18 |
Correct |
1 ms |
212 KB |
n = 10, 3189 is a correct answer |
19 |
Correct |
0 ms |
212 KB |
n = 10, 7000000000 is a correct answer |
20 |
Correct |
1 ms |
212 KB |
n = 5, 12 is a correct answer |
21 |
Correct |
1 ms |
212 KB |
n = 5, 25 is a correct answer |
22 |
Correct |
1 ms |
212 KB |
n = 2, 122 is a correct answer |
23 |
Correct |
1 ms |
212 KB |
n = 10, 117 is a correct answer |
24 |
Incorrect |
1 ms |
212 KB |
n = 10, incorrect answer: jury 336 vs contestant 360 |
25 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
300 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
212 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
212 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
1 ms |
340 KB |
n = 3, 4 is a correct answer |
5 |
Correct |
0 ms |
212 KB |
n = 2, 62 is a correct answer |
6 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
7 |
Correct |
1 ms |
340 KB |
n = 3, 29 is a correct answer |
8 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
9 |
Correct |
0 ms |
212 KB |
n = 2, 3 is a correct answer |
10 |
Correct |
1 ms |
212 KB |
n = 2, 2000000001 is a correct answer |
11 |
Correct |
1 ms |
212 KB |
n = 2, 3000000000 is a correct answer |
12 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
13 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
14 |
Correct |
1 ms |
212 KB |
n = 4, 3000000001 is a correct answer |
15 |
Correct |
1 ms |
212 KB |
n = 4, 4000000000 is a correct answer |
16 |
Correct |
1 ms |
212 KB |
n = 5, 4000000000 is a correct answer |
17 |
Correct |
1 ms |
212 KB |
n = 10, 1000000343 is a correct answer |
18 |
Correct |
1 ms |
212 KB |
n = 10, 3189 is a correct answer |
19 |
Correct |
0 ms |
212 KB |
n = 10, 7000000000 is a correct answer |
20 |
Correct |
1 ms |
212 KB |
n = 5, 12 is a correct answer |
21 |
Correct |
1 ms |
212 KB |
n = 5, 25 is a correct answer |
22 |
Correct |
1 ms |
212 KB |
n = 2, 122 is a correct answer |
23 |
Correct |
1 ms |
212 KB |
n = 10, 117 is a correct answer |
24 |
Incorrect |
1 ms |
212 KB |
n = 10, incorrect answer: jury 336 vs contestant 360 |
25 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
300 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
212 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
212 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
1 ms |
340 KB |
n = 3, 4 is a correct answer |
5 |
Correct |
0 ms |
212 KB |
n = 2, 62 is a correct answer |
6 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
7 |
Correct |
1 ms |
340 KB |
n = 3, 29 is a correct answer |
8 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
9 |
Correct |
0 ms |
212 KB |
n = 2, 3 is a correct answer |
10 |
Correct |
1 ms |
212 KB |
n = 2, 2000000001 is a correct answer |
11 |
Correct |
1 ms |
212 KB |
n = 2, 3000000000 is a correct answer |
12 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
13 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
14 |
Correct |
1 ms |
212 KB |
n = 4, 3000000001 is a correct answer |
15 |
Correct |
1 ms |
212 KB |
n = 4, 4000000000 is a correct answer |
16 |
Correct |
1 ms |
212 KB |
n = 5, 4000000000 is a correct answer |
17 |
Correct |
1 ms |
212 KB |
n = 10, 1000000343 is a correct answer |
18 |
Correct |
1 ms |
212 KB |
n = 10, 3189 is a correct answer |
19 |
Correct |
0 ms |
212 KB |
n = 10, 7000000000 is a correct answer |
20 |
Correct |
1 ms |
212 KB |
n = 5, 12 is a correct answer |
21 |
Correct |
1 ms |
212 KB |
n = 5, 25 is a correct answer |
22 |
Correct |
1 ms |
212 KB |
n = 2, 122 is a correct answer |
23 |
Correct |
1 ms |
212 KB |
n = 10, 117 is a correct answer |
24 |
Incorrect |
1 ms |
212 KB |
n = 10, incorrect answer: jury 336 vs contestant 360 |
25 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
300 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
212 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
212 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
1 ms |
340 KB |
n = 3, 4 is a correct answer |
5 |
Correct |
0 ms |
212 KB |
n = 2, 62 is a correct answer |
6 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
7 |
Correct |
1 ms |
340 KB |
n = 3, 29 is a correct answer |
8 |
Correct |
1 ms |
212 KB |
n = 2, 3 is a correct answer |
9 |
Correct |
0 ms |
212 KB |
n = 2, 3 is a correct answer |
10 |
Correct |
1 ms |
212 KB |
n = 2, 2000000001 is a correct answer |
11 |
Correct |
1 ms |
212 KB |
n = 2, 3000000000 is a correct answer |
12 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
13 |
Correct |
1 ms |
212 KB |
n = 3, 3000000000 is a correct answer |
14 |
Correct |
1 ms |
212 KB |
n = 4, 3000000001 is a correct answer |
15 |
Correct |
1 ms |
212 KB |
n = 4, 4000000000 is a correct answer |
16 |
Correct |
1 ms |
212 KB |
n = 5, 4000000000 is a correct answer |
17 |
Correct |
1 ms |
212 KB |
n = 10, 1000000343 is a correct answer |
18 |
Correct |
1 ms |
212 KB |
n = 10, 3189 is a correct answer |
19 |
Correct |
0 ms |
212 KB |
n = 10, 7000000000 is a correct answer |
20 |
Correct |
1 ms |
212 KB |
n = 5, 12 is a correct answer |
21 |
Correct |
1 ms |
212 KB |
n = 5, 25 is a correct answer |
22 |
Correct |
1 ms |
212 KB |
n = 2, 122 is a correct answer |
23 |
Correct |
1 ms |
212 KB |
n = 10, 117 is a correct answer |
24 |
Incorrect |
1 ms |
212 KB |
n = 10, incorrect answer: jury 336 vs contestant 360 |
25 |
Halted |
0 ms |
0 KB |
- |