Submission #952942

#TimeUsernameProblemLanguageResultExecution timeMemory
952942ezzzayBigger segments (IZhO19_segments)C++14
0 / 100
1 ms348 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define ff frist #define ss second #define pb push_back const int N=505; int a[N]; int dp[N][N]; int ps[N]; signed main(){ int ans=0; int n; cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++){ ps[i]=ps[i-1]+a[i]; } for(int i=1;i<=n;i++){ for(int r=1;r<=i;r++){ for(int l=0;l<r;l++){ if(ps[i]-ps[r-1]>=ps[r-1]-ps[max(0LL,l-1)]) { dp[i][r]=max( dp[i][r], dp[r-1][l]+1 ); } } } } for(int l=1;l<=n;l++){ for(int r=l;r<=n;r++){ // cout<<r<<" : "<<l<< " :: " << dp[r][l]<<endl; } } for(int i=0;i<=n;i++){ ans=max(ans,dp[n][i]); } cout<<ans; }
#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...