Cod sursa(job #1318434)

Utilizator retrogradLucian Bicsi retrograd Data 15 ianuarie 2015 22:40:16
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
#define INF (1<<31)

using namespace std;

typedef int var;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

var n;
var *V, *S;

int main() {
    fin>>n;
    var b, e, bestsum = -INF, bestb, beste;
    V = new var[n+1];
    S = new var[n+1];
    S[0] = -INF;
    for(var i=1; i<=n; i++) {
        fin>>V[i];
        e = i;
        if(S[i-1] > 0) {
            S[i] = S[i-1] + V[i];
        }
        else {
            S[i] = V[i];
            b = e;
        }
        if(bestsum < S[i]) {
            bestsum = S[i];bestb = b; beste = e;
        }
    }
    fout<<bestsum<<" "<<bestb<<" "<<beste;
}