Cod sursa(job #3160284)

Utilizator GabrielMarfonMarfon Gabriel GabrielMarfon Data 23 octombrie 2023 17:19:32
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>

using namespace std;
int v[6000001],s[6000001];
int main()
{
    long long int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>v[i];
    }
    int smax=-1000000000,minim=0;
    int inceput=0,rez_inceput,rez_sfarsit;
    for(int sfarsit=1;sfarsit<=n;sfarsit++)
    {
        s[sfarsit]=v[sfarsit]+s[sfarsit-1];
        if(smax<s[sfarsit]-minim)
        {
            smax=s[sfarsit]-minim;
            rez_inceput=inceput+1;
            rez_sfarsit=sfarsit;
        }
        if(minim>s[sfarsit])
        {
            minim=s[sfarsit];
            inceput=sfarsit;
        }
    }
    cout<<smax<<" "<<rez_inceput<<" "<<rez_sfarsit;
    return 0;
}