Submission #260973

#TimeUsernameProblemLanguageResultExecution timeMemory
260973igm_igmBigger segments (IZhO19_segments)C++14
37 / 100
792 ms262148 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define mp make_pair
#define pb push_back
#define a first 
#define b second
llo it[500001];
llo n;
llo pre[500001];
llo dp[500001];
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin>>n;

	for(llo i=0;i<n;i++){
		cin>>it[i];
		pre[i+1]=pre[i]+it[i];
	}
	llo ans=1;
	vector<pair<llo,pair<llo,llo>>> ss;
	for(llo i=1;i<=n;i++){
		for(llo j=0;j<i;j++){
			ss.pb({pre[i]-pre[j],{j,i}});
		}
	}
	sort(ss.begin(),ss.end());
	for(llo i=1;i<=n;i++){
		dp[i]=-1;
	}
	for(auto j:ss){
		if(dp[j.b.a]==-1){
			continue;
		}
		dp[j.b.b]=max(dp[j.b.a]+1,dp[j.b.b]);
	}

	cout<<dp[n]<<endl;





	return 0;
}

Compilation message (stderr)

segments.cpp: In function 'int main()':
segments.cpp:21:6: warning: unused variable 'ans' [-Wunused-variable]
  llo ans=1;
      ^~~
#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...