Cod sursa(job #2341223)

Utilizator axelteoTeodor Dutu axelteo Data 11 februarie 2019 18:05:31
Problema Subsecventa de suma maxima Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;

int main() {
    int n, x, currSum = -1, bestSum = 0xffffffff, start, end;

    FILE *pInFile = fopen("ssm.in", "r");
    FILE *pOutFile = fopen("ssm.out", "w");

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

    for (int i = 1; i <= n; ++i) {
        fscanf(pInFile, "%d", &x);

        if (currSum < 0) {
            start = end = i;
            currSum = bestSum = x;
        } else {
            currSum += x;

            if (x > 0) {
                bestSum = currSum;
                end = i;
            }
        }
    }

    fprintf(pOutFile, "%d %d %d\n", bestSum, start, end);

    fclose(pInFile);
    fclose(pOutFile);
    return 0;
}