Cod sursa(job #261561)

Utilizator Pepelea_FlaviuFlaviu Pepelea Pepelea_Flaviu Data 18 februarie 2009 14:30:12
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
# include <cstdio>

# define FIN "ssm.in"
# define FOUT "ssm.out"

int N, i, val, li, lo, max;

    int main()
    {
        freopen(FIN,"r",stdin);
        freopen(FOUT,"w",stdout);
        
        scanf("%d",&N);
        
        int st, dr, sc;
        st = dr = li = lo = 1;
        scanf("%d",&max); sc = max;
    
        for (i = 1; i < N; ++i)
        {
            scanf("%d",&val);
            if (sc + val >= val)
            {
               sc += val;
               dr++;
            } else
            {
               sc = val;
               st = dr = i + 1;
            }
            
            if (sc > max)
            {
               max = sc;
               li = st;
               lo = dr;
            }
        }
        
        printf("%d %d %d",max, li, lo);
        
        return 0;
    }