Submission #1132612

#TimeUsernameProblemLanguageResultExecution timeMemory
1132612Halym2007Bigger segments (IZhO19_segments)C++17
13 / 100
108 ms71136 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define sz size()
#define ff first
#define ss second
#define pb push_back
#define pii pair <int, int>
#define dur exit(0)
#define dur1 return(0)
const int N = 3e3 + 5;
ll a[N], dp[N][N];
int main () {
//	freopen ("input.txt", "r", stdin);
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int n;
	cin >> n;
	for (int i = 1; i <= n; ++i) {
		cin >> a[i];
	}
	for (int i = 0; i < N; ++i) {
		for (int j = 0; j < N; ++j) {
			dp[i][j] = 1e10;
		}	
	}
	dp[0][0] = 0;
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= i; ++j) {
			ll sum = 0;
			for (int k = i; k >= 1; k--) {
				sum += a[k];
				if (dp[k - 1][j - 1] <= sum) {
					dp[i][j] = min (dp[i][j], sum);
				}
			}
		}
	}
	for (int i = n; i > 0; i--) {
		if (dp[n][i] != 1e10) {
			cout << i;
			return 0;
		}
	}
}
#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...