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]); ^