Cod sursa(job #3123474)

Utilizator radustn92Radu Stancu radustn92 Data 23 aprilie 2023 21:40:46
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <cstdio>
#include <climits>
using namespace std;

int main() {
    freopen("ssm.in", "r", stdin);
    // freopen("ssm.out", "w", stdout);

    int N;
    cin >> N;
    int lowestSum = 0, lowestSumIdx = -1;
    int best = INT_MIN, bestStart, bestEnd;
    int no, sum = 0;
    for (int idx = 0; idx < N; idx++) {
        cin >> no;
        sum += no;

        if (sum - lowestSum > best) {
            best = sum - lowestSum;
            bestStart = lowestSumIdx + 1;
            bestEnd = idx;
        }
        if (sum <= lowestSum) {
            lowestSum = sum;
            lowestSumIdx = idx;
        }
    }
    cout << best << " " << bestStart + 1 << " " << bestEnd + 1 << "\n"; 
    return 0;
}