Submission #861494

#TimeUsernameProblemLanguageResultExecution timeMemory
861494Halym2007Bigger segments (IZhO19_segments)C++11
0 / 100
1 ms2396 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 5e5 + 5;
ll dp[N], p[N], a[N], val[N];
ll ind;
int main () {
//	freopen("input.txt", "r", stdin);
	ll n;
	cin >> n;
	for (ll i = 1; i <= n; ++i) {
		cin >> a[i];
		p[i] = a[i] + p[i - 1];
	}
	ind = 0;
	for (ll i = 1; i <= n; ++i) {
		while (ind < i and p[i] >= p[ind] + val[ind]) {
			ind++;
		}
		dp[i] = dp[ind - 1] + 1;
		val[i] = p[i] - p[ind - 1];
	}
	cout << dp[n];
}
#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...