#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,ll>
#define X first
#define Y second
const int N=5e5+5;
int n,x;
ll pre[N];
pii dp[N];
int main()
{
ios_base::sync_with_stdio(NULL);
cin.tie(NULL); cout.tie(NULL);
cin >> n;
pre[0]=0;
for (int i=1;i<=n;i++)
{
cin >> x;
pre[i]=pre[i-1]+x;
}
dp[0]=make_pair(0,0);
dp[1]=make_pair(1,0);
for (int i=1;i<=n;i++)
{
dp[i]=max(dp[i],dp[i-1]);
x=lower_bound(pre+1,pre+n+1,2*pre[i]-dp[i].Y)-pre;
if (x<=n) dp[x]=max(dp[x],make_pair(dp[i].X+1,pre[i]));
}
cout << dp[n].X;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |