Cod sursa(job #280286)
| Utilizator | Data | 13 martie 2009 12:14:44 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <stdio.h>
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int i,n,x,smax=-10000000,sc=0,poz1=1,poz2=1,poz1max,poz2max;
scanf("%d\n",&n);
for(poz2=1;poz2<=n;poz2++)
{
scanf("%d ",&x);
sc=sc+x;
if(sc>smax)
{
smax=sc;
poz1max=poz1;
poz2max=poz2;
}
if(sc<0)
{
sc=0;
poz1=poz2+1;
}
}
printf("%d %d %d",smax,poz1max,poz2max);
return 0;
}