Cod sursa(job #1296941)

Utilizator Corina1997Todoran Ana-Corina Corina1997 Data 21 decembrie 2014 16:28:03
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
using namespace std;

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

#define INF 0x3f3f3f3f

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

int main()
{
    is >> n;
    for ( int i = 1; i <= n; ++i )
    {
        is >> a;
        if ( d[i - 1] < 0 && i != 1 )
            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;
}