Submission #856442

#TimeUsernameProblemLanguageResultExecution timeMemory
856442hartiksalariaBigger segments (IZhO19_segments)C++17
27 / 100
1554 ms35676 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, x; cin >> n; vector<long long> pref(n + 1); for (int i = 0; i < n; ++i) { cin >> x; pref[i + 1] = pref[i] + x; } auto sum = [&](int l, int r) -> long long { return pref[r] - (l ? pref[l - 1] : 0); }; vector<vector<int>> dp(n + 1, vector<int>(n + 1, -1e9)); dp[0][0] = 0; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= i; ++j) { for (int k = 0; k < j; ++k) { if (sum(j, i) >= sum(k, j - 1)) { dp[i][j] = max(dp[i][j], 1 + dp[j - 1][k]); } } } } int ans = 0; for (int i = 0; i <= n; ++i) { ans = max(ans, dp[n][i]); } cout << ans << '\n'; 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...