Cod sursa(job #1050869)

Utilizator mvcl3Marian Iacob mvcl3 Data 9 decembrie 2013 11:47:48
Problema Subsecventa de suma maxima Scor 100
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 = 1, el, i = 1; i <= N; ++i)
    {
        f >> el;

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

        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;
}