#include<bits/stdc++.h>
#define fi first
#define se second
#define ll long long
using namespace std;
ll a[500005];int n;
int get(int ok){
ll s=0;
for (int i=1;i<=ok;i++) s+=a[i];
int dem=1;
for (int i=ok+1;i<=n;i++){
ll s1=0;int j=i,lu=j;
while (j<=n&&s1<s){
s1+=a[j];lu=j;j++;
}
if (s1>=s) dem++,s=s1;
i=lu;
// cout<<s1<<endl;
}
return dem;
}
int main(){
// if (fopen("thu.inp","r")){
// freopen("thu.inp","r",stdin);
// freopen("thu.out","w",stdout);
// }
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n;
for (int i=1;i<=n;i++) cin>>a[i];
int l=1,r=n,ans=1;
// cout<<get(2)<<endl;
while (l<=r){
int mid=(l+r)/2;
if (get(mid)<get(mid+1)) l=mid+1;
else r=mid-1;
ans=max(ans,get(mid));
}
cout<<ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |