Cod sursa(job #1520842)

Utilizator OlivianOlivian Dan Cretu Olivian Data 9 noiembrie 2015 16:23:48
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int n,v[25000000],i,d[25000000],pos[25000000],maxim=-25000000,s,f;
int main()
{
    d[0]=0;
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&v[i]);
        d[i]=max(v[i],v[i]+d[i-1]);
        if(d[i]==v[i]) pos[i]=i;
        else pos[i]=pos[i-1];
        if(max(maxim,d[i])==d[i])
        {
            maxim=d[i];
            f=i;
            s=pos[i];

        }

    }
    printf("%d %d %d\n",maxim,s,f);

}