Submission #1098337

#TimeUsernameProblemLanguageResultExecution timeMemory
1098337ezzzayBigger segments (IZhO19_segments)C++14
0 / 100
0 ms348 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define ff first #define ss second #define pb push_back const int N=3e6+5; int a[N]; int par[N]; int dp[N]; signed main(){ int n; cin>>n; vector<int>ps(n+1); for(int i=1;i<=n;i++){ cin>>a[i]; ps[i]=ps[i-1]+a[i]; } for(int i=1;i<=n;i++){ par[i]=max(par[i],par[i-1]); dp[i]=dp[par[i]]+1; auto it=lower_bound(ps.begin(),ps.end(),ps[i]*2-ps[par[i]-1]); int j=it-ps.begin(); par[j]=i; } cout<<dp[n]; }
#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...