Cod sursa(job #266750)

Utilizator floringh06Florin Ghesu floringh06 Data 26 februarie 2009 07:57:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <cstdio>
#include <cstring>

using namespace std;

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

int S, sum, N;
int li, lf, BEST;

    int main ()
    {
        int i, indx;
        freopen (FIN, "r", stdin);
        freopen (FOUT, "w", stdout);
        
        BEST = -100000000, sum = 0;
        scanf ("%d", &N);
        for (i = 1; i <= N; ++i)
        {
            scanf ("%d", &S);
            if (sum < 0)
               sum = S, indx = i;
            else sum += S;
            
            if (sum > BEST)
               BEST = sum, lf = i, li = indx;
        }
        if (li > lf) li = lf;
        printf ("%d %d %d", BEST, li, lf);
        
        return 0;
    }