Submission #5994308
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
ll n;
cin>>n;
ll a[n];
ll sum[n+1]={};
for(int i=0;i<n;i++){
cin>>a[i];
sum[i+1] = sum[i] + a[i];
}
ll ans = 1e18;
for(int m=2;m<n-1;m++){
int l=1,rr=m;
while(rr-l>1){
int mid = (l+rr)/2;
if(sum[mid]>sum[m]/2){
rr=mid;
}
else l=mid;
}
int d=m+1,u=n;
while(u-d>1){
int mid = (u+d)/2;
if(sum[mid]-sum[m]>(sum[n]-sum[m])/2){
u=mid;
}
else d=mid;
}
ll p=sum[l],q=sum[m]-sum[l];
ll r=sum[d]-sum[m],s=sum[n]-sum[d];
ll dif = max(max(p,q),max(r,s)) - min(min(p,q),min(r,s));
ans = min(ans,dif);
if(l!=m-1){
l++;
p=sum[l],q=sum[m]-sum[l];
r=sum[d]-sum[m],s=sum[n]-sum[d];
dif = max(max(p,q),max(r,s)) - min(min(p,q),min(r,s));
ans = min(ans,dif);
l--;
}
if(d!=n-1){
d++;
p=sum[l],q=sum[m]-sum[l];
r=sum[d]-sum[m],s=sum[n]-sum[d];
dif = max(max(p,q),max(r,s)) - min(min(p,q),min(r,s));
ans = min(ans,dif);
d--;
}
if(l!=m-1 && d!=n-1){
d++,l++;
p=sum[l],q=sum[m]-sum[l];
r=sum[d]-sum[m],s=sum[n]-sum[d];
dif = max(max(p,q),max(r,s)) - min(min(p,q),min(r,s));
ans = min(ans,dif);
}
//cerr<<l<<" "<<m<<" "<<d<<" "<<dif<<endl;
}
cout << ans << endl;
}
Submission Info
Submission Time |
|
Task |
D - Equal Cut |
User |
totori0908 |
Language |
C++14 (GCC 5.4.1) |
Score |
600 |
Code Size |
1792 Byte |
Status |
AC |
Exec Time |
50 ms |
Memory |
3328 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
600 / 600 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
All |
sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
1 ms |
256 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
sample_03.txt |
AC |
1 ms |
256 KB |
subtask_1_01.txt |
AC |
1 ms |
256 KB |
subtask_1_02.txt |
AC |
49 ms |
3072 KB |
subtask_1_03.txt |
AC |
22 ms |
1536 KB |
subtask_1_04.txt |
AC |
34 ms |
2176 KB |
subtask_1_05.txt |
AC |
1 ms |
256 KB |
subtask_1_06.txt |
AC |
6 ms |
640 KB |
subtask_1_07.txt |
AC |
29 ms |
2048 KB |
subtask_1_08.txt |
AC |
17 ms |
1408 KB |
subtask_1_09.txt |
AC |
28 ms |
2048 KB |
subtask_1_10.txt |
AC |
37 ms |
2688 KB |
subtask_1_11.txt |
AC |
44 ms |
3072 KB |
subtask_1_12.txt |
AC |
21 ms |
1664 KB |
subtask_1_13.txt |
AC |
30 ms |
2176 KB |
subtask_1_14.txt |
AC |
10 ms |
896 KB |
subtask_1_15.txt |
AC |
6 ms |
640 KB |
subtask_1_16.txt |
AC |
23 ms |
1920 KB |
subtask_1_17.txt |
AC |
20 ms |
1664 KB |
subtask_1_18.txt |
AC |
2 ms |
384 KB |
subtask_1_19.txt |
AC |
43 ms |
3200 KB |
subtask_1_20.txt |
AC |
50 ms |
3200 KB |
subtask_1_21.txt |
AC |
25 ms |
1792 KB |
subtask_1_22.txt |
AC |
17 ms |
1280 KB |
subtask_1_23.txt |
AC |
41 ms |
2816 KB |
subtask_1_24.txt |
AC |
48 ms |
3328 KB |
subtask_1_25.txt |
AC |
48 ms |
3328 KB |
subtask_1_26.txt |
AC |
48 ms |
3328 KB |
subtask_1_27.txt |
AC |
48 ms |
3328 KB |
subtask_1_28.txt |
AC |
49 ms |
3328 KB |
subtask_1_29.txt |
AC |
49 ms |
3328 KB |
subtask_1_30.txt |
AC |
50 ms |
3328 KB |
subtask_1_31.txt |
AC |
49 ms |
3328 KB |
subtask_1_32.txt |
AC |
49 ms |
3328 KB |
subtask_1_33.txt |
AC |
49 ms |
3328 KB |
subtask_1_34.txt |
AC |
45 ms |
3328 KB |
subtask_1_35.txt |
AC |
46 ms |
3328 KB |
subtask_1_36.txt |
AC |
44 ms |
3328 KB |
subtask_1_37.txt |
AC |
46 ms |
3328 KB |