제출 #336156

#제출 시각아이디문제언어결과실행 시간메모리
336156kkkBigger segments (IZhO19_segments)C++14
100 / 100
80 ms12524 KiB
#include<iostream> #define endl '\n' using namespace std; long long a[1000006],dp[1000006],pos[10000006]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long n,i,c,le,ri,r,mid; cin>>n; for(i=1;i<=n;i++) { cin>>c; a[i]=a[i-1]+c; } for(i=1;i<=n;i++) { if(pos[i]<pos[i-1])pos[i]=pos[i-1]; dp[i]=dp[pos[i]]+1; r=a[i]-a[pos[i]]; le=i+1;ri=n; long long ind=0; while(le<=ri) { mid=(le+ri)/2; if(r<=a[mid]-a[i]) { ri=mid-1;ind=mid; } else le=mid+1; } pos[ind]=i; } cout<<dp[n]<<endl; }
#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...