Submission #268522

#TimeUsernameProblemLanguageResultExecution timeMemory
268522Osama_AlkhodairyBigger segments (IZhO19_segments)C++17
37 / 100
1574 ms2560 KiB
#include <bits/stdc++.h> using namespace std; #define finish(x) return cout << x << endl, 0 #define ll long long const int N = 500001; int n; vector <int> a; pair <int, ll> dp[N]; void maximize(pair <int, ll> &a, pair <int, ll> b){ if(b.first > a.first) a = b; else if(b.first == a.first && b.second < a.second) a = b; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; a.resize(n + 1); for(int i = 1 ; i <= n ; i++){ cin >> a[i]; } for(int i = 1 ; i <= n ; i++){ ll sum = 0; for(int j = i ; j >= 1 ; j--){ sum += a[j]; if(sum >= dp[j - 1].second){ maximize(dp[i], make_pair(dp[j - 1].first + 1, sum)); } } } cout << dp[n].first << 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...