Cod sursa(job #897941)

Utilizator aciobanusebiCiobanu Sebastian aciobanusebi Data 27 februarie 2013 23:11:15
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<cstdio>
int v[6000000],best[6000000],n,max,poz;
void citire()
{
    freopen("ssm.in","r",stdin);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&v[i]);
}
int main()
{
    citire();
    max=best[1]=v[1];
    for(int i=2;i<=n;i++)
     {
         best[i]=v[i];
         if(best[i-1]>0)
            best[i]=best[i-1]+v[i];
         if(max<best[i])
            {
                poz=i;
                max=best[i];
            }
     }
     int s=0,i=poz;
     while(s!=max)
        s+=v[i--];
    freopen("ssm.out","w",stdout);
    printf("%d %d %d",max,i+1,poz);
    return 0;
}