Cod sursa(job #1125513)

Utilizator DanielRusuDaniel Rusu DanielRusu Data 26 februarie 2014 18:04:40
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>

using namespace std;

int n, s, bst = -int(2e9), suma = 0, beg, end, idx, i;

int main() {
    FILE *fin = fopen("ssm.in","r");
    FILE *fout = fopen("ssm.out","w");

    fscanf(fin , "%d", &n);

    for(i = 1;i <= n;i++) {
        fscanf(fin , "%d", &s);

        if(suma < 0) {
            suma = s;
            idx = i;
        }
        else {
            suma += s;
        }

        if(bst < suma) {
            bst = suma;
            beg = idx;
            end = i;
        }
    }

    fprintf(fout,"%d %d %d\n", bst, beg, end);

    fclose(fin);
    fclose(fout);

    return 0;
}