Submission #2872865


Source Code Expand

#include <stdio.h>
long a[1000000];
long long sum[1000000];
long n;
long main(){
	scanf("%li",&n);
	sum[0]=0;
	for (long i=1;i<=n;i++){
		scanf("%li",&a[i]);
		sum[i]=a[i]+sum[i-1];
	}
	long long l=0;
	long long r=1000000000000000000;
	long long res=-1;
	while(l<=r){
		long long m=(l+r)/2;
		if (check(m)==1){res=m;r=m-1;}
		else l=m+1;
	}
	printf("%lli",res);
	return(0);
}
int check(long long x){
	int ans=0;
	for (long h=2;h<=n-2;h++){
		ans=1;
		long l=1;
		long r=h-1;
		long fh=1;
		long long l1,l2,h1,h2;
		while (l<=r){
			long m=(l+r)/2;
			if (sum[h]-2*sum[m]>=0){fh=m;l=m+1;}
			else r=m-1;
		}
		if (2*sum[fh+1]-sum[h]<-2*sum[fh]+sum[h]){
			fh++;	
			l1=sum[h]-sum[fh];
			h1=sum[fh];
		}
		else{
			h1=sum[h]-sum[fh];
			l1=sum[fh];
		}
		if (abs(-2*sum[fh]+sum[h])>x) ans=0;
		l=h+1;
		r=n-1;
		long sh=h+1;
		while (l<=r){
			long m=(l+r)/2;
			if ((sum[n]-sum[h])-2*(sum[m]-sum[h])>=0)						{sh=m;l=m+1;}
			else r=m-1;
		}
		if (-(sum[n]-sum[h])+2*(sum[sh+1]-sum[h])<(sum[n]-sum[h])-2*(sum[sh]-sum[h])){
			sh++;	
			l2=(sum[n]-sum[h])-(sum[sh]-sum[h]);
			h2=(sum[sh]-sum[h]);
		}
		else{
			h2=(sum[n]-sum[h])-(sum[sh]-sum[h]);
			l2=(sum[sh]-sum[h]);
		}
		if (abs((sum[n]-sum[h])-2*(sum[sh]-sum[h]))>x) 					ans=0;
		if (abs(h1-l2)>x|abs(h2-l1)>x|abs(h2-l2)>x|abs(h1-l1)>x) ans=0;
		if (ans==1){
			return(ans);
		}
	}
	
}

Submission Info

Submission Time
Task D - Equal Cut
User ag602326
Language C (GCC 5.4.1)
Score 0
Code Size 1414 Byte
Status WA
Exec Time 517 ms
Memory 5760 KB

Compile Error

./Main.c: In function ‘main’:
./Main.c:17:7: warning: implicit declaration of function ‘check’ [-Wimplicit-function-declaration]
   if (check(m)==1){res=m;r=m-1;}
       ^
./Main.c: In function ‘check’:
./Main.c:45:7: warning: implicit declaration of function ‘abs’ [-Wimplicit-function-declaration]
   if (abs(-2*sum[fh]+sum[h])>x) ans=0;
       ^
./Main.c: In function ‘main’:
./Main.c:6:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%li",&n);
  ^
./Main.c:9:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%li",&a[i]);
   ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
AC × 1
WA × 2
AC × 15
WA × 28
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 WA 1 ms 2176 KB
sample_02.txt WA 1 ms 2176 KB
sample_03.txt AC 1 ms 2176 KB
subtask_1_01.txt WA 1 ms 2176 KB
subtask_1_02.txt WA 303 ms 5632 KB
subtask_1_03.txt WA 160 ms 4864 KB
subtask_1_04.txt WA 258 ms 5248 KB
subtask_1_05.txt AC 1 ms 2176 KB
subtask_1_06.txt WA 35 ms 2432 KB
subtask_1_07.txt AC 229 ms 5120 KB
subtask_1_08.txt WA 130 ms 4864 KB
subtask_1_09.txt AC 210 ms 5120 KB
subtask_1_10.txt AC 204 ms 5504 KB
subtask_1_11.txt AC 376 ms 5632 KB
subtask_1_12.txt WA 162 ms 4992 KB
subtask_1_13.txt AC 269 ms 5248 KB
subtask_1_14.txt WA 79 ms 2560 KB
subtask_1_15.txt AC 54 ms 2432 KB
subtask_1_16.txt WA 176 ms 5120 KB
subtask_1_17.txt AC 157 ms 4992 KB
subtask_1_18.txt WA 5 ms 2304 KB
subtask_1_19.txt AC 504 ms 5632 KB
subtask_1_20.txt WA 441 ms 5632 KB
subtask_1_21.txt WA 269 ms 4992 KB
subtask_1_22.txt WA 140 ms 4736 KB
subtask_1_23.txt WA 412 ms 5504 KB
subtask_1_24.txt WA 370 ms 5760 KB
subtask_1_25.txt WA 329 ms 5760 KB
subtask_1_26.txt WA 348 ms 5760 KB
subtask_1_27.txt AC 227 ms 5760 KB
subtask_1_28.txt WA 457 ms 5760 KB
subtask_1_29.txt AC 363 ms 5760 KB
subtask_1_30.txt AC 487 ms 5760 KB
subtask_1_31.txt AC 499 ms 5760 KB
subtask_1_32.txt WA 517 ms 5760 KB
subtask_1_33.txt WA 404 ms 5760 KB
subtask_1_34.txt WA 287 ms 5760 KB
subtask_1_35.txt WA 503 ms 5760 KB
subtask_1_36.txt WA 233 ms 5760 KB
subtask_1_37.txt WA 506 ms 5760 KB