Cod sursa(job #3267920)

Utilizator radeuojArghira Radu Stefan radeuoj Data 12 ianuarie 2025 21:54:24
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <algorithm>
#include <fstream>

using namespace std;

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

constexpr long long NMAX = 6000001;

int a[NMAX];

int main()
{
    int n;
    fin >> n;
    for (int i = 1; i <= n; i++)
        fin >> a[i];

    int s = 0, best = numeric_limits<int>::lowest();
    int x = -1, bestx = -1, besty = -1;
    for (int i = 1; i <= n; i++)
    {
        s += a[i];
        if (s < 0)
            s = 0, x = i + 1;
        else if (s > best)
            best = s, bestx = x, besty = i;
    }

    fout << best << ' ' << bestx << ' ' << besty;

    return 0;
}