Cod sursa(job #2875455)

Utilizator indianu_talpa_iuteTisca Catalin indianu_talpa_iute Data 21 martie 2022 17:44:14
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

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

int main() {
    int n, x, sum = 0, maxi = INT_MIN, lomax, himax, lo = 0, hi = 0;
    fin >> n;
    while (fin >> x) {
        if (sum < 0)
            lo = hi, sum = 0;
        sum += x;
        if (sum > maxi)
            maxi = sum, lomax = lo, himax = hi;
        else if (sum == maxi && (lo < lomax || himax - lomax > hi - lo))
            lomax = lo, himax = hi;
        hi++;
    }

    fout << maxi << ' ' << lomax + 1 << ' ' << himax + 1;
    return 0;
}