Cod sursa(job #1060514)

Utilizator sunt_emoSunt emo sunt_emo Data 18 decembrie 2013 01:32:36
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

int a[6000010], n;

int main()
{
    std::ifstream in("ssm.in");
    std::ofstream out("ssm.out");
    in >> n;
    for (int i = 0; i < n; i++)
        in >> a[i];
    int b0, b, ret, l0 = 0, l = 0, r = 0;
    b0 = ret = a[0];
    for (int i = 1; i < n; i++)
    {
        b = a[i];
        if (b0 > 0)
            b += b0;
        else
            l0 = i;
        b0 = b;
        if (b > ret)
        {
            ret = b;
            r = i;
            l = l0;
        }
    }
    out << ret << " " << l + 1 << " " << r + 1 << std::endl;
    in.close();
    out.close();
}