Submission #2875107


Source Code Expand

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
#include <math.h>
using namespace std;
typedef long long int LL;
const int maxn = 1e6 + 10;
const int mod = 998244353;
const LL inf = 1e15;
LL n, a[maxn], sum[maxn];
int main()
{
	scanf("%lld",&n);
	for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
	for(int i=1;i<=n;i++) sum[i] = sum[i-1] + a[i];
	LL ans = inf;
	int st = lower_bound(sum+1, sum+1+n, sum[n]/2) - sum;
	st = max(st-4, 2);
	int c1 = 0
	for(int i=st; i<n-1; i++){
		if(++c1>=100) break;
		//if(abs(sum[n]-sum[i]*2)/2>ans) break;
		st = lower_bound(sum+1, sum+1+i, sum[i]/2) - sum;
		st = max(st-4, 1);
		int c2 = 0;
		for(int j=st;j<i;j++){
			if(++c2 >= 100) break;
			int c3 = 0;
			a[0] = sum[j];
			a[1] = sum[i] - sum[j];
			//if(abs(a[0]-a[1])>ans) continue;
			st = lower_bound(sum+1+i, sum+1+n, (sum[n]-sum[i])/2+sum[i]) - sum;
			st = max(st-4, i+1);
			for(int k=st;k<n;k++){
				if(c3 >= 100) break;
				a[0] = sum[j];
				a[1] = sum[i] - sum[j];
				a[2] = sum[k] - sum[i];
				a[3] = sum[n] - sum[k];
				//if(abs(a[2]-a[3])>ans) continue;
				sort(a, a+4);
				ans = min(ans, a[3]-a[0]);
			}
		}
	}
	printf("%lld\n", ans);
	return 0;
}

Submission Info

Submission Time
Task D - Equal Cut
User w123456
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1235 Byte
Status CE

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:21:2: error: expected ‘,’ or ‘;’ before ‘for’
  for(int i=st; i<n-1; i++){
  ^
./Main.cpp:21:16: error: ‘i’ was not declared in this scope
  for(int i=st; i<n-1; i++){
                ^
./Main.cpp:14:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld",&n);
                  ^
./Main.cpp:15:43: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
                                           ^