Cod sursa(job #1643616)

Utilizator razvandRazvan Dumitru razvand Data 9 martie 2016 19:33:17
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int main() {

    int n,x,y,st,en;
    in >> n;

    unsigned int a = 0;
    a--;
    int bestSum = -(a/2);
    int beg = 0;
    int crrB = 0;
    int lastB = bestSum;

    for(int i = 0; i < n; i++) {
        in >> x;
        crrB = x;
        if(lastB + x > crrB)
            crrB = lastB + x;
        else
            beg = i;
        if(bestSum < crrB) {
            bestSum = crrB;
            st = beg;
            en = i;
        }
        lastB = crrB;
    }

    out << bestSum << " " << st+1 << " " << en+1;

    return 0;
}