Cod sursa(job #2127876)

Utilizator HUBIHulub Bianca Maria HUBI Data 11 februarie 2018 10:21:44
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,v[6000001],in,sf,smax=-100000,s,inmax;
bool k;
int main()
{
    fin >>n;
    for(int i=1; i<=n; i++){
        fin>> v[i];
        if(v[i]>=0)
            k=1;
        if(v[i]>smax && v[i]<0){
            smax=v[i];
            inmax=sf=i;
        }
    }
    if(k>0){smax=0;
    for(int i=1; i<=n; i++)
    {
        s+=v[i];
        if(s<0)
        {
            s=0;
            in=i+1;
        }

        else
        {
            if(s>smax)
            {
                inmax=in;
                sf=i;
                smax=s;

            }
        }
    }
    }
    fout <<smax<<' '<<inmax<<' '<<sf;
    return 0;
}