제출 #1140725

#제출 시각아이디문제언어결과실행 시간메모리
1140725NurislamBigger segments (IZhO19_segments)C++20
13 / 100
24 ms2376 KiB
#include <bits/stdc++.h> 
using namespace std;

#define int long long
const int inf = 2e9;

signed main(){
	
	int n; cin >> n;
	
	vector<int> a(n);
	for(int &i : a) cin >> i;
	
	vector<int> pr{0};
	for(int i : a)pr.push_back(pr.back() + i);
	
	
	vector<vector<int>> dp(n+1, vector<int> (n + 1,inf));
	dp[0][0] = 0;
	for(int i = 0; i < n; i++){
		for(int j = 0; j <= i; j++){
			int la = dp[i][j];
			for(int to = i+1; to <= n; to++){
				if(pr[to] - pr[i] >= la){
					dp[to][j+1] = min(dp[to][j+1], pr[to]-pr[i]);
				}
			}
		}
	}
	
	for(int i = n; i >= 0; i--)
		if(dp[n][i] != inf)
			return cout << i << '\n', 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...