Cod sursa(job #2377751)

Utilizator dan.ghitaDan Ghita dan.ghita Data 11 martie 2019 03:47:02
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int n, x;
vector<int> v, spart;

int main()
{
    f >> n;

    v.push_back(0);
    spart.push_back(0);

    while (n--)
        f >> x,
        v.push_back(x),
        spart.push_back(x + spart[spart.size() - 1]);

    int minIndex = 0, mx = INT_MIN, l, r;
    for (int i = 1; i < spart.size(); ++i)
    {
        int sum = spart[i] - spart[minIndex];
        if (sum > mx)
            mx = sum,
            l = minIndex,
            r = i;

        minIndex = spart[minIndex] > spart[i] ? i : minIndex;
    }

    g << mx << ' ' << l + 1 << ' ' << r;

    return 0;
}