제출 #707559

#제출 시각아이디문제언어결과실행 시간메모리
707559emptypringlescanBigger segments (IZhO19_segments)C++17
0 / 100
1 ms468 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int32_t main(){ ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; long long arr[n],pref[n+1]; for(int i=0; i<n; i++) cin >> arr[i]; pref[0]=0; for(int i=0; i<n; i++){ pref[i+1]=pref[i]+arr[i]; } pair<int,long long> dp[n+1]; dp[0]={0LL,0LL}; for(int i=1; i<=n; i++){ int lo=1,hi=i,mid; while(lo<hi){ mid=(lo+hi+1)/2; long long cur=pref[i]-pref[mid-1]; if(cur<dp[mid-1].second) hi=mid-1; else lo=mid; } dp[i]={dp[lo-1].first+1LL,pref[i]-pref[lo-1]}; assert(dp[i].second>=dp[i-1].second); } cout << dp[n].first; return 0; }
#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...