Cod sursa(job #1290551)

Utilizator mihaiperjuMihai Perju mihaiperju Data 11 decembrie 2014 14:42:20
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,x,sm,sc,pm,pc,cm,c,lgm,lgc,i;
int main()
{
    fin>>n>>x;
    sm=sc=x;
    lgm=lgc=1;
    pm=pc=1;
    cm=c;
    for(i=2;i<=n;i++)
    {
        fin>>x;
        if(sc<0)
        {
            pc=i;
            lgc=1;
            sc=x;
            c=1;

        }
        else {lgc++; sc=sc+x;c++;}
        if(sc>sm)
        {
            sm=sc;
            lgm=lgc;
            pm=pc;
            cm=c;
        }
        else
            if(sc==sm&& lgm>lgc)
                {
                    lgm=lgc;
                    pm=pc;
                    cm=c;

                }

    }
    fout<<sm<<" "<<pm<<" "<<pm+cm-1;

    return 0;
}