Cod sursa(job #1154772)

Utilizator cristina_borzaCristina Borza cristina_borza Data 26 martie 2014 13:17:15
Problema Subsecventa de suma maxima Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[1001],i,s,smax,pi,pimax,pf,pfmax,n;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    s=a[1];
    pi=pf=pimax=pfmax=1;
    for(i=2;i<=n;i++)
    {
        if(s+a[i]>=a[i])
            s=s+a[i],pf=i;
        else
        {
            if(s>smax)
            {
                smax=s;
                pimax=pi;
                pfmax=pf;
            }
            s=a[i];
            pi=i;
        }
        if(s>smax)
        {
            smax=s;
            pimax=pi;
            pfmax=pf;
        }
    }
    fout<<smax<<" "<<pimax<<" "<<pfmax;
    return 0;
}