Submission #1293355

#TimeUsernameProblemLanguageResultExecution timeMemory
1293355hahaBigger segments (IZhO19_segments)C++20
100 / 100
59 ms14148 KiB
#include <bits/stdc++.h> #define f first #define s second #define ll long long using namespace std; const int maxn=5e5+5; int n; int a[maxn]; pair<int,ll> dp[maxn]; ll sum[maxn]; int main() { ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; sum[i]=sum[i-1]+a[i]; } dp[0]={1,0}; for(int i=1;i<=n;i++){ dp[i]=max(dp[i],dp[i-1]); ll val=2*sum[i]-dp[i].s; int j=lower_bound(sum+i,sum+n+1,val)-sum; dp[j]=max(dp[j],make_pair(dp[i].f+1,sum[i])); } cout<<dp[n].f; }
#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...