제출 #861513

#제출 시각아이디문제언어결과실행 시간메모리
861513Halym2007Bigger segments (IZhO19_segments)C++11
37 / 100
1561 ms16100 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], idx[N];
 
int main () {
//	freopen("input.txt", "r", stdin);
	int n;
	cin >> n;
	for (int i = 1; i <= n; ++i) {
		cin >> a[i];
		p[i] = a[i] + p[i - 1];
	}
	dp[1] = 1;
	val[1] = p[1];
	idx[1] = 1;
	for (int i = 2; i <= n; ++i) {
		for (int j = i; j >= idx[i - 1]; j--) {
			if (p[i] - p[j - 1] >= val[j - 1]) {
				dp[i] = dp[j - 1] + 1;
				val[i] = p[i] - p[j - 1];
				idx[i] = j;
				break;
			} 
		}
	}
	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...