Cod sursa(job #1584985)

Utilizator trutruvasilicaHuhurez Marius trutruvasilica Data 30 ianuarie 2016 17:30:24
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int dp[6000001],start[6000001];
int main()
{
    int n,a,i,b,maxi=-999999999,sf,st;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a;
        if(a>dp[i-1]+a)
        {
            dp[i]=a;
            start[i]=i;
        }
        else
        {
            dp[i]=a+dp[i-1];
            start[i]=start[i-1];
        }
        if(dp[i]>maxi)
        {
            maxi=dp[i];
            st=start[i];
            sf=i;
        }
    }
    fout<<maxi<<" "<<st<<" "<<sf;
}