Cod sursa(job #1499328)

Utilizator vancea.catalincatalin vancea.catalin Data 10 octombrie 2015 15:03:32
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<iostream>
#include<fstream>
#include<iomanip>
#define dx 999999999
#define dm 6000006
using namespace std;
fstream fin("ssm.in",ios::in),fout("ssm.out",ios::out);
int x[dm],v[dm];
int main()
{
    int i,j,n,s=0,inceput=1,sfarsit=1,maxim=-dx,start=1,stop=1;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>x[i];
    }
    v[1]=x[1];
    for(i=2;i<=n;i++)
    {
        if(x[i]>v[i-1]+x[i])
        {
            start=i;
            stop=i;
            v[i]=x[i];
        }
        else
        {
            stop=i;
            v[i]=v[i-1]+x[i];
        }
        if(v[i]>maxim)
        {
            maxim=v[i];
            inceput=start;
            sfarsit=stop;
        }
    }
    fout<<maxim<<" "<<inceput<<" "<<sfarsit<<"\n";
    return 0;
}