Cod sursa(job #1007863)

Utilizator cosmo0093Raduta Cosmin cosmo0093 Data 9 octombrie 2013 20:25:17
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

int main()
{
    std::ifstream in("ssm.in");
    std::ofstream out("ssm.out");

    int nV;

    in >> nV;

    int sum, max, li, lj, ri, rj;

    li = lj = ri = rj = 1;
    in >> max;
    sum = max;

    for(int i = 2; i <= nV; i++)
    {
        int x;
        in >> x;
        sum += x;
        rj = i;
        if(sum < 0)
        {
            sum = 0;
            ri = rj = i + 1;
        }
        else if(sum > max)
        {
            li = ri;
            lj = rj;
            max = sum;
        }
    }

    out << max << ' ' << li << ' ' << lj;

    return 0;
}