Submission #861388

#TimeUsernameProblemLanguageResultExecution timeMemory
861388Halym2007Bigger segments (IZhO19_segments)C++11
37 / 100
1516 ms10560 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]; 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]; } for (int i = 1; i <= n; ++i) { for (int j = i; j > 0; j--) { if (p[i] - p[j - 1] >= val[j - 1]) { if (dp[j - 1] + 1 > dp[i]) { dp[i] = dp[j - 1] + 1; val[i] = p[i] - p[j - 1]; } else if (dp[j - 1] + 1 == dp[i]) { val[i] = min (p[i] - p[j - 1], val[i]); } } } } 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...