Cod sursa(job #2617828)

Utilizator matthriscuMatt . matthriscu Data 22 mai 2020 23:06:20
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>

int main() {
    int n, i, x, currentSum, bestSum, currentStart = 1, bestStart = 1, bestEnd = 1;
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
    scanf("%d%d", &n, &x);
    currentSum = bestSum = x;
    for(i = 2; i <= n; ++i) {
        scanf("%d", &x);
        if(currentSum < 0) {
            currentSum = x;
            currentStart = i;
        }
        else
            currentSum += x;
        
        if(currentSum > bestSum) {
            bestStart = currentStart;
            bestEnd = i;
            bestSum = currentSum;
        }
    }
    printf("%d %d %d", bestSum, bestStart, bestEnd);
}