Cod sursa(job #1121186)

Utilizator catalincraciunCraciun Catalin catalincraciun Data 25 februarie 2014 11:55:31
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
/// Craciun Catalin
///  SSM
///   www.infoarena.ro/problema/ssm
///    Programare dinamica
#include <fstream>
#include <iostream>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

long n;
int st, dr, best;
int suma=0;
int beginAux;

void pd()
{
    f>>n;
    f>>best;
    st=1;
    dr=1;
    suma=best;


    for (long i=2;i<=n;i++)
    {
        int x; f>>x;

        if (suma<0)
            suma=x, beginAux=i;
        else
            suma+=x;

        if (best<suma)
        {
            best=suma;
            st=beginAux;
            dr=i;
        }
    }

    g<<best<<' '<<st<<' '<<dr<<'\n';
    g.close();
}

int main()
{
    pd();


    return 0;
}