# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
999029 |
2024-06-15T05:27:08 Z |
변재우(#10896) |
Shortcut (IOI16_shortcut) |
C++14 |
|
1 ms |
4444 KB |
#include "shortcut.h"
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
const int N=1000010;
const ll INF=1e16;
ll c, s[N], d[N], l[N], r[N];
ll find_shortcut(int n, vector<int> l_, vector<int> d_, int c_)
{
ll ret=0;
c=c_;
for(int i=2; i<=n; i++) s[i]=s[i-1]+l_[i-2];
for(int i=1; i<=n; i++) d[i]=d_[i-1];
l[0]=INF;
for(int i=1; i<=n; i++) l[i]=min(l[i-1], s[i]-d[i]);
for(int i=n; i>=1; i--) r[i]=max(r[i+1], s[i]+d[i]);
for(int i=1; i<n; i++) ret=max(ret, s[i]-l[i]+r[i+1]-s[i+1]);
for(int i=1; i<=n; i++) {
for(int j=i+1; j<=n; j++) if(s[j]-s[i]>c) {
ll tmp=0;
ll lx=s[i]-l[i], rx=r[j]-s[j];
tmp=max(tmp, lx+rx+c);
for(int k=i; k<=j; k++) tmp=max(tmp, lx+d[k]+min(s[k]-s[i], c+s[j]-s[k]));
for(int k=i; k<=j; k++) tmp=max(tmp, rx+d[k]+min(s[j]-s[k], c+s[k]-s[i]));
for(int k=i; k<=j; k++) for(int l=k+1; l<=j; l++)
tmp=max(tmp, d[k]+d[l]+min(s[l]-s[k], c+s[k]-s[i]+s[j]-s[l]));
ret=min(ret, tmp);
}
}
return ret;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
0 ms |
4444 KB |
n = 9, 110 is a correct answer |
3 |
Incorrect |
0 ms |
4444 KB |
n = 4, incorrect answer: jury 21 vs contestant 20 |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
0 ms |
4444 KB |
n = 9, 110 is a correct answer |
3 |
Incorrect |
0 ms |
4444 KB |
n = 4, incorrect answer: jury 21 vs contestant 20 |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
0 ms |
4444 KB |
n = 9, 110 is a correct answer |
3 |
Incorrect |
0 ms |
4444 KB |
n = 4, incorrect answer: jury 21 vs contestant 20 |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
0 ms |
4444 KB |
n = 9, 110 is a correct answer |
3 |
Incorrect |
0 ms |
4444 KB |
n = 4, incorrect answer: jury 21 vs contestant 20 |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
0 ms |
4444 KB |
n = 9, 110 is a correct answer |
3 |
Incorrect |
0 ms |
4444 KB |
n = 4, incorrect answer: jury 21 vs contestant 20 |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
0 ms |
4444 KB |
n = 9, 110 is a correct answer |
3 |
Incorrect |
0 ms |
4444 KB |
n = 4, incorrect answer: jury 21 vs contestant 20 |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
0 ms |
4444 KB |
n = 9, 110 is a correct answer |
3 |
Incorrect |
0 ms |
4444 KB |
n = 4, incorrect answer: jury 21 vs contestant 20 |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
0 ms |
4444 KB |
n = 9, 110 is a correct answer |
3 |
Incorrect |
0 ms |
4444 KB |
n = 4, incorrect answer: jury 21 vs contestant 20 |
4 |
Halted |
0 ms |
0 KB |
- |