Cod sursa(job #415385)

Utilizator biroBiro Alexandru biro Data 11 martie 2010 11:25:51
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>

#define INF 2000000000
    int pi1=0 ;
    int pi2=0 ; 
    int min=0 ;
    int pf=0 ;
    int s=0 ;

int main()
{
    freopen ("ssm.in","r",stdin) ;
    freopen ("ssm.out","w",stdout) ;
    
    int n ;
    int nr ;
    int max =-INF ;

    scanf("%d" , &n) ;
    for (int i=1 ; i<=n ; i++)
        {
            scanf ("%d" , &nr) ;
            s+=nr;
            if(s-min>max)
                {
                    max=s-min;
                    pi2=i;
                    pf=pi1;
                }
            if(min>s)
                   {
                        min=s;
                        pi1=i;
                   } 
        }    
    printf ("%d %d %d" , max , pf+1 , pi2) ;    

    return 0;
}