Submission #1320181

#TimeUsernameProblemLanguageResultExecution timeMemory
1320181kenkunkinBigger segments (IZhO19_segments)C++20
0 / 100
0 ms332 KiB
#include <bits/stdc++.h>

using namespace std;

void Init()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}

typedef long long ll;
int n;
const int maxn=3005;
ll a[maxn],pre[maxn];
int dp[maxn];
ll last[maxn];

void Input()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        pre[i]=pre[i-1]+a[i];
    }
}

void Bai()
{
    dp[0]=0;
    last[0]=0;
    for(int i=1;i<=n;i++)
    {
        dp[i]=0;
        last[i]=0;
        for(int j=0;j<i;j++)
        {
            ll sum=pre[i]-pre[j];
            if(sum>=last[j])
            {
                if(dp[j]+1>dp[i])
                {
                    dp[i]=dp[j]+1;
                    last[i]=sum;
                }
            }
        }
    }
    int ans=0;
    for(int i=1;i<=n;i++) ans=max(ans,dp[i]);
    cout<<ans<<"\n";
}

int main()
{
    Init();
    Input();
    Bai();
    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...