Cod sursa(job #2068058)

Utilizator FredyLup Lucia Fredy Data 17 noiembrie 2017 09:47:57
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <fstream>

using namespace std;

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

#define inf 2e9
int n, st, dr, x, s, rez;

int main()
{
    fin>>n;
    st=dr=1, rez=-inf;
    for (int i=1; i<=n; i++)
    {
        fin>>x;
        if (s==0)   st=i;
        s += x;
        if (s < 0)  st=dr=i, s=0;
        else
        {
            rez = max(rez, s);
            if (s==rez) dr = i;
        }
    }
    fout<<rez<<' '<<st<<' '<<dr;

    fout.close();
    return 0;
}