Cod sursa(job #1050863)

Utilizator mvcl3Marian Iacob mvcl3 Data 9 decembrie 2013 11:43:34
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

#define in "ssm.in"
#define out "ssm.out"
#define LL long long

std :: ifstream f(in);
std :: ofstream g(out);

int N;
int beg_of_ssm, end_of_ssm;
LL Best_Sum = -1000000000000, Sum;

int main()
{
    f >> N;


    for(int beg, el, i = 1; i <= N; ++i)
    {
        f >> el;

        if(Sum + el > el)   Sum += el;
        else
        {
            Sum = el;
            beg = i;
        }

        if(Sum > Best_Sum)
        {
            Best_Sum = Sum;

            beg_of_ssm = beg;
            end_of_ssm = i;
        }
    }

    g << Best_Sum << ' ' << beg_of_ssm << ' ' << end_of_ssm << '\n';

    g.close();
    return 0;
}