Cod sursa(job #3160290)

Utilizator GabrielMarfonMarfon Gabriel GabrielMarfon Data 23 octombrie 2023 17:25:58
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int v[6000001],s[6000001];
int main()
{
    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;
}