This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma GCC optimize ("O3")
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
long long sum[500002],maks[500002],br[500002];
int main ()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long n;
cin>>n;
cin>>sum[0];
br[0]=1;maks[0]=sum[0];
for(int i=1;i<n;i++){
cin>>sum[i];
sum[i]+=sum[i-1];
}
for(int i=1;i<n;i++){
int l=0,r=i,mid;
while(l<r){
mid=(l+r)/2;
if(sum[i]-sum[mid]>=maks[mid]) l=mid+1;
else r=mid;
}
if(l>0){
br[i]=br[l-1]+1;
maks[i]=sum[i]-sum[l-1];
}else{
br[i]=1;
maks[i]=sum[i];
}
}
//for(int i=0;i<n;i++)cout<<br[i]<<endl;
cout<<br[n-1]<<endl;
return 0;
}
# | 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... |