Cod sursa(job #1378562)

Utilizator BologaDragosBologa Dragos BologaDragos Data 6 martie 2015 12:55:46
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>

#define INF 0x3f3f3f3f

using namespace std;

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


long long sumacur=0,maxim,istart=1,isol=1,ifin=1,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] ;
            ifin=i ;
            isol=istart ;
        }

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

    g<<maxim<<" "<<isol<<" " ;

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

    }*/
    g<<ifin ;

    return 0;
}