| Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
|---|---|---|---|---|---|---|---|---|---|
| 81650 | 张志鹏 | cake | C++ | Time Limit Exceeded | 0 | 2000 MS | 1032 KB | 632 | 2023-08-09 17:48:08 |
#include<bits/stdc++.h> using namespace std; int n; int a[100001]; int b[100001]; unsigned long long l,r,mid; int check1(int x,int y){ if((b[n]-x)/2<mid) return 0; return 1; } int check(int x){ for(int i=1;i<=n;i++){ for(int j=i+1;j<=n+(i-1);j++){ if(b[j]-b[i-1]>=mid&&b[j]-b[i-1]<=r&&check1(b[j]-b[i-1],mid)) return 1; } } return 0; } int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) b[i]=a[i]+b[i-1]; for(int i=n+1;i<=2*n;i++) b[i]=a[i-n]+b[i-1]; l=1,r=b[n]/3; while(l<r){ mid=(l+r+1)/2; if(check(mid)) l=mid+1; else r=mid; } cout<<r; return 0; }