Cod sursa(job #627714)
| Utilizator | Data | 30 octombrie 2011 15:02:26 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <cstdio>
#define file_in "ssm.in"
#define file_out "ssm.out"
int N,i,suma,smax,ind,inc,sf,V[6001010];
int main(){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &N);
for (i=1;i<=N;++i)
scanf("%d", &V[i]);
smax=-0x3f3f3f3f;
suma=0;
for (i=1;i<=N;++i){
if (suma<0){
suma=V[i];
ind=i;
}
else
suma+=V[i];
if (smax<suma){
smax=suma;
inc=ind;
sf=i;
}
}
printf("%d %d %d", smax,inc,sf);
return 0;
}
