Cod sursa(job #1247558)

Utilizator AdrianaMAdriana Moisil AdrianaM Data 22 octombrie 2014 23:10:57
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
using namespace std;

ifstream is("ssm.in");
ofstream os("ssm.out");

int n, a, d[6000001], b[6000001];
int dmax, bb, e;

int main()
{
    is >> n;
    for ( int i = 1; i <= n; ++i )
    {
        is >> a;
        if ( d[i - 1] <= 0 )
            b[i] = i, d[i] = a;
        else
            b[i] = b[i - 1], d[i] = d[i - 1] + a;
        if ( d[i] > dmax )
            dmax = d[i], bb = b[i], e = i;
    }
    os << dmax << " " << bb << " " << e;
    is.close();
    os.close();
    return 0;
}