# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1166376 | DangKhoizzzz | Bigger segments (IZhO19_segments) | C++20 | 0 ms | 0 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;
}