Cod sursa(job #1415212)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 3 aprilie 2015 23:10:24
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#define NM 6000005

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n,v,i,dp[NM],be,en,poz,mx;

int main()
{
    fin >> n;
    for (i=1; i<=n; i++)
    {
        fin >> v;
        if (v+dp[i-1]<v)
          poz=i;
        else
        {
            dp[i]=dp[i-1]+v;
            if (dp[i]>mx)
            {
                be=poz;
                en=i;
                mx=dp[i];
            }
        }
        dp[i]=max(v, v+dp[i-1]);
    }
    fout << mx << " " << be << " " << en;
    fin.close();
    fout.close();
    return 0;
}