Submission #1092894

#TimeUsernameProblemLanguageResultExecution timeMemory
1092894irmuunBigger segments (IZhO19_segments)C++17
13 / 100
1594 ms2520 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

const ll N=5e5+5;

ll n,a[N],s[N];

ll range(ll l,ll r){
    return s[r]-s[l-1];
}

ll solve(ll sum,ll l){
    if(l==n+1){
        return 0;
    }
    if(range(l,n)<sum){
        return -1;
    }
    ll cur=0,mx=-1;
    for(ll j=l;j<=n;j++){
        cur+=a[j];
        if(cur>=sum){
            ll val=solve(cur,j+1);
            if(val!=-1){
                mx=max(mx,val+1);
            }
        }
    }
    return mx;
}

int main(){
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    cin>>n;
    s[0]=0;
    for(ll i=1;i<=n;i++){
        cin>>a[i];
        s[i]=s[i-1]+a[i];
    }
    cout<<solve(0,1);
}
#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...