Cod sursa(job #1541542)

Utilizator KarewitToader Petru Catalin Karewit Data 4 decembrie 2015 10:57:37
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main()
{
    int n,s=0,st=1,dr=-1,x,max=0,maxneg=1,pozneg;
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>x;
        if(x<0 and (maxneg==1 or x>maxneg))
        {
            maxneg=x;
            pozneg=i;
        }
        s=s+x;
        if(s<0)
        {
            s=0;
            st=i+1;
        }
        if(s>max)
        {
            max=s;
            dr=i;
        }
    }
    if(dr!=-1)
    fout<<max<<' '<<st<<' '<<dr;
    else
        fout<<maxneg<<' '<<pozneg<<' '<<pozneg;
}