Submission #172742

#TimeUsernameProblemLanguageResultExecution timeMemory
172742LinusTorvaldsFanBigger segments (IZhO19_segments)C++14
27 / 100
1571 ms21624 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int maxn=100000;

unordered_map<ll,int> dp[maxn];

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	ll sum=0;
	int n;
	cin>>n;
	vector<ll>a(n);
	for(int i=0;i<n;i++)cin>>a[i];
	for(int i=0;i<n;i++){
		sum+=a[i];
		dp[i][sum]=1;	
	}
	for(int i=1;i<n;i++){
		sum=0;
		for(int j=i;j>=1;j--){
			sum+=a[j];
			for(auto t:dp[j-1]){
				if(t.first<=sum){
					dp[i][sum]=max(dp[i][sum],t.second+1);
				}
			}
		}
	}
	int ans=0;
	for(auto t:dp[n-1]){
		ans=max(ans,t.second);
	}
	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...