Submission #1285650

#TimeUsernameProblemLanguageResultExecution timeMemory
1285650Faisal_SaqibBigger segments (IZhO19_segments)C++20
0 / 100
1 ms580 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e3+100;
int a[N];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    ll p=0;
    ll ans=0;
    for(int i=1;i<=n;)
    {
        ll sm=a[i];
        int j=i+1;
        while(sm<p and j<=n)
        {
            sm+=a[j];
            j++;
        }
        if(sm<p)
        {
            // no new segment
            break;
        }
        else
        {
            int k=i;
            while(k<j and (p+a[k])<=(sm-a[k]))
            {
                p+=a[k];
                sm-=a[k];
                k++;
            }
            ans++;
            p=sm;
            i=j;
        }
    }
    cout<<ans<<endl;
}
#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...