Cod sursa(job #263069)
Utilizator | Data | 19 februarie 2009 21:33:38 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <stdio.h>
int N;
int main(){
int i,x,S=0,Smax=-2100000000,lmax=0,rmax=0,l;
FILE *f=fopen("ssm.in","r");
FILE *g=fopen("ssm.out","w");
fscanf(f,"%d\n",&N);
for (i=l=1;i<=N;++i){
fscanf(f,"%d",&x);
if (S<0) {S=x;l=i;}
else S+=x;
if (S>Smax) {Smax=S;
lmax=l;
rmax=i;}
}
fprintf(g,"%d %d %d",Smax,lmax,rmax);
fclose(g);
return 0;
}