Cod sursa(job #2472268)

Utilizator Asmarandei_LeonardAsmarandei Leonard Gabriel Asmarandei_Leonard Data 12 octombrie 2019 10:45:02
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;

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

int s, l, smax = -int(2e9), bg, nr, fn, n;

int main()
{
    fin >> n;
    for(int i = 1; i <= n; ++i)
    {
        fin >> nr;
        if(s + nr >= nr)
            s = s + nr;
        else
        {
            s = nr;
            l = i;
        }
        if(s > smax)
        {
            smax = s;
            bg = l;
            fn = i;
        }
        else if(s >= smax && l < bg)
        {
            bg = l;
            fn = i;
        }
    }
    fout << smax << ' ' << bg << ' ' << fn;

    fin.close();
    fout.close();

    return 0;
}