Cod sursa(job #1378547)

Utilizator BologaDragosBologa Dragos BologaDragos Data 6 martie 2015 12:50:42
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

#define INF 0x3f3f3f3f

using namespace std;

ifstream f("ssm.in") ;
ofstream g("ssm.out") ;


long long sumacur=0,maxim,istart,icurent,n ;

int v[6000006] ;

int main()
{
    int i ;
    f>>n ;
    maxim=-INF ;
    for(i=1;i<=n;i++)
    {
        f>>v[i] ;

        if(sumacur+v[i]>maxim)
            maxim=sumacur+v[i] ;

        if(sumacur+v[i]<0)
        {
            sumacur=0 ;
            istart=i+1 ;
        }
        else
            sumacur=sumacur+v[i] ;
    }

    g<<maxim<<" "<<istart<<" " ;

    while(maxim)
    {
        maxim-=v[istart] ;
        istart++ ;

    }
    g<<istart-1 ;

    return 0;
}