Submission #1166376

#TimeUsernameProblemLanguageResultExecution timeMemory
1166376DangKhoizzzzBigger segments (IZhO19_segments)C++20
In queue
0 ms0 KiB
#include <bits/stdc++.h> #define int long long #define fi first #define se second using namespace std; typedef pair<int,int> pii; const int maxn = 1e5 + 7; int n , a[maxn]; pair <int ,int> f[maxn]; void solve() { cin >> n; for(int i = 1; i <= n; i++) cin >> a[i]; f[n+1].fi = 0; f[n+1].se = 0; for(int i = n; i > 0; i--) { int sum = 0ll; for(int j = i; j <= n; j++) { sum += a[j]; if(sum >= f[j+1].se) { if(f[i].fi < f[j+1].fi + 1) { f[i].fi = f[j+1].fi + 1; f[i].se = sum; } break; } } } cout << f[1].fi << '\n'; } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); solve(); return 0; }