Cod sursa(job #873853)

Utilizator bratiefanutBratie Fanut bratiefanut Data 7 februarie 2013 18:19:59
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

int n,i,suma,prim,iprim,iult,ult,op[60000],v[6000000];

int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
    cin>>v[i];

    suma=v[1];
    op[1]=v[1];
    prim=1; ult=1;

    for(i=2;i<=n;i++)
    {
        if(op[i-1]+v[i]>=v[i])
        {
            op[i]=op[i-1]+v[i];
            ult=i;
        }
        else
        {
            op[i]=v[i];
            prim=i;
            ult=i;
        }
        if(suma<op[i])
        {
            suma=op[i];
            iprim=prim;
            iult=ult;
        }
    }
cout<<suma<<' '<<iprim<<' '<<iult;
    return 0;
}