Submission #370480

#TimeUsernameProblemLanguageResultExecution timeMemory
370480SeanliuBigger segments (IZhO19_segments)C++14
0 / 100
1 ms364 KiB
#include <iostream>
#define int long long int
using namespace std;

const int maxN = 2e5 + 326;
int N, arr[maxN];

signed main(){
	cin >> N;
	for(int i = 1; i <= N; i++){
		cin >> arr[i];
		arr[i] += arr[i - 1];
	}
	int ans = 1;
	for(int take = 1; take < N; take++){
		if(arr[take] > arr[N] - arr[take]) continue;
		int _a = 2, li = take, ls = arr[take];
		for(int i = take + 1; i <= N; i++){
			if(arr[i] - arr[li] < ls) continue;
			if(arr[i] - arr[li] > arr[N] - arr[i]) break;
			_a++;
			ls = arr[i] - arr[li];
			li = i;
		}
		//cout << "_a = " << _a << ", take = " << take << endl;
		ans = max(_a, ans);
	}
	cout << ans << endl;
}
#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...