Cod sursa(job #382191)
| Utilizator | Data | 13 ianuarie 2010 09:18:55 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 65 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.37 kb |
#include <stdio.h>
long i,n,s,smax,st,idx,fin,x;
int main()
{freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%ld",&n);s=-1000000000;idx=1;
for(i=1;i<=n;i++)
{ scanf("%ld",&x);
if(s<=0){s=x;idx=i;}else s=s+x;
if(s>smax){smax=s;st=idx;fin=i;}
}
printf("%ld %ld %ld",smax,st,fin);
fclose(stdin);fclose(stdout);
return 0;
}
