Cod sursa(job #261326)
Utilizator | Data | 18 februarie 2009 02:47:53 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <stdio.h>
int main ()
{freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int n,cmax,max,cstart,i,mstart,mend,x;
scanf("%d",&n);
for (i=1,cstart=1,max=0,cmax=0;i<=n;i++)
{scanf("%d",&x);
if(cmax+x>=0)
{cmax+=x;
if(max<cmax){max=cmax;mend=i;mstart=cstart;}
}
else
{cstart=i+1;
cmax=0;
}
}
printf("%d %d %d",max,mstart,mend);
return 0;
}