Cod sursa(job #3165643)

Utilizator victor_gabrielVictor Tene victor_gabriel Data 6 noiembrie 2023 17:39:47
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <climits>

using namespace std;

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

int main() {
    int n;
    fin >> n;

    int currSum = 0, i1 = 1, i2 = 0;
    int bestSum = INT_MIN, left = 0, right = 0;
    for (int i = 1; i <= n; i++) {
        int x;
        fin >> x;

        if (currSum + x > x) {
            currSum += x;
            i2 = i;
        } else {
            currSum = x;
            i1 = i2 = i;
        }

        if (currSum > bestSum) {
            bestSum = currSum;
            left = i1, right = i2;
        }
    }

    fout << bestSum << ' ' << left << ' ' << right;

    return 0;
}