Cod sursa(job #1099467)

Utilizator vyrtusRadu Criuleni vyrtus Data 5 februarie 2014 21:09:00
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

#define nmax 6000001
#define inf -10000000

using namespace std;

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

int a[nmax],n, best;

int main()
{
    f >> n;
    for (int i=1;i<=n;i++)
        f >> a[i];

    int bestsum = inf,test = inf, start = 0, last = 0;
        best = a[1] ;
    for (int i=1;i<=n;i++)
        {
            if (best < 0) { best = a[i]; test = i; }
               else  best += a[i];

            if (best > bestsum) {bestsum = best; last = i; start = test; }
        }

    g << bestsum << " " << start << " " << last;
    return 0;
}