Cod sursa(job #2602923)

Utilizator Darius_CDarius Chitu Darius_C Data 18 aprilie 2020 09:58:32
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int MAXN=6000005;

int main()
{
    int n, S[MAXN];
    f >> n;

    for (int i=1; i<=n; i++)
        f >> S[i];

    int bestSum=-int(2e9), minimum=0, index, p, u;
    for(int i=1; i<=n; i++)
    {
        S[i]+=S[i-1];

        if(bestSum<S[i]-minimum)
        {
            bestSum = S[i] - minimum;
            p = index+1;
            u = i;
        }

        if (minimum > S[i])
        {
            minimum = S[i];
            index = i;
        }
    }
    g << bestSum << " " << p << " " << u;
    return 0;
}