Cod sursa(job #2640530)

Utilizator mex7Alexandru Valentin mex7 Data 6 august 2020 18:38:32
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb

#include <bits/stdc++.h>
#define ll long long
using namespace std;

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

int main() {
    int n, x;
    int start = 1, currSum = 0, result = INT_MIN, maxStart = 1, maxEnd = 1;

    fin >> n;
    for (int i = 1; i <= n; i++) {
        fin >> x;

        currSum += x;
        if (x > currSum) {
            currSum = x;
            start = i;
        }

        if (currSum > result) {
            result = currSum;
            maxStart = start, maxEnd = i;
        } else if (currSum == result && maxEnd - maxStart > i - start)
            maxStart = start, maxEnd = i;
    }

    fout << result << " " << maxStart << " " << maxEnd;

    return 0;
}