Cod sursa(job #1004965)

Utilizator DaniEsDani Stetcu DaniEs Data 3 octombrie 2013 21:07:22
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 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;
        DP[i]=max(DP[i-1]+x,x);
        if(DP[i]==x)
            start=i;
        if(DP[i]>maxim)
        {
            maxim=DP[i];
            beg=start;
            finish=i;
        }
    }
    fout<<maxim<<" "<<start<<" "<<finish<<'\n';
}