Submission #1308647

#TimeUsernameProblemLanguageResultExecution timeMemory
1308647goduadzesabaBigger segments (IZhO19_segments)C++20
27 / 100
1595 ms15316 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=3e3+5,inf=1e18;
int _t,n,dp[N][N],p[N];
signed main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	cin>>n;
	for (int i=1; i<=n; i++) cin>>p[i],p[i]+=p[i-1];
	for (int i=0; i<=n; i++) dp[i][1]=p[i];
	for (int j=2; j<=n; j++){
		for (int i=1; i<=n; i++){
			dp[i][j]=inf;
			for (int l=i-1; l>0; l--){
				if (p[i]-p[l]>=dp[l][j-1]){
					dp[i][j]=p[i]-p[l]; break;
				}
			}
		}
	}
	for (int j=n; j>0; j--)
		if (dp[n][j]<inf){
			cout<<j<<"\n"; break;
		}
}
#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...