Cod sursa(job #1004975)

Utilizator DaniEsDani Stetcu DaniEs Data 3 octombrie 2013 21:12:35
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
#define NMax 6000005
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int N, DP[NMax];
int main()
{
    int maxim=-20000000, x, start, beg, finish;
    fin>>N;
    for(int i=1; i<=N; i++)
    {
        fin>>x;
        if(DP[i]+x>=x)
            DP[i]+=x;
        if(DP[i]==x)
            start=i;
        if(DP[i]>maxim)
        {
            maxim=DP[i];
            beg=start;
            finish=i;
        }
    }
    fout<<maxim<<" "<<beg<<" "<<finish<<'\n';
    return 0;
}