Submission #499850

#TimeUsernameProblemLanguageResultExecution timeMemory
499850reniBigger segments (IZhO19_segments)C++14
100 / 100
105 ms16840 KiB
#include<iostream> #define endl '\n' using namespace std; long long pref[1000000], ans[1000000], sum[1000000]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long n,i,j, ch, pr, br=0, maxr, le, ri, mid; cin>>n; for(i=1;i<=n;i++) { cin>>ch; pref[i]=pref[i-1]+ch; sum[i]=1000000000000; } ans[1]=1; for(i=1;i<=n;i++) { ans[i]=max(ans[i-1],ans[i]); sum[i]=min(sum[i],sum[i-1]+pref[i]-pref[i-1]); le=0;ri=n+1; int ind=-1; while(le<ri-1) { mid=(le+ri)/2; if(sum[i]<=pref[mid]-pref[i]){ri=mid;} else {le=mid;} } if(ri>n)continue; if(ans[ri]<=ans[i]+1) { ans[ri]=ans[i]+1; sum[ri]=min(sum[ri],pref[ri]-pref[i]); } //cout<<ans[i]<<" "<<sum[i]<<endl; } cout<<ans[n]<<endl; }

Compilation message (stderr)

segments.cpp: In function 'int main()':
segments.cpp:31:13: warning: unused variable 'ind' [-Wunused-variable]
   31 |         int ind=-1;
      |             ^~~
segments.cpp:11:19: warning: unused variable 'j' [-Wunused-variable]
   11 |     long long n,i,j, ch, pr, br=0, maxr, le, ri, mid;
      |                   ^
segments.cpp:11:26: warning: unused variable 'pr' [-Wunused-variable]
   11 |     long long n,i,j, ch, pr, br=0, maxr, le, ri, mid;
      |                          ^~
segments.cpp:11:30: warning: unused variable 'br' [-Wunused-variable]
   11 |     long long n,i,j, ch, pr, br=0, maxr, le, ri, mid;
      |                              ^~
segments.cpp:11:36: warning: unused variable 'maxr' [-Wunused-variable]
   11 |     long long n,i,j, ch, pr, br=0, maxr, le, ri, mid;
      |                                    ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...