Cod sursa(job #417566)
Utilizator | Data | 14 martie 2010 15:49:19 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 75 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include<stdio.h>
FILE*f=fopen("ssm.in","r");
FILE*g=fopen("ssm.out","w");
int n,poz1,poz2,x,sant,smax,pozmax1,pozmax2,i;
int main () {
fscanf(f,"%d",&n);
poz1=poz2=1;
sant=-99999999;
for(i=1;i<=n;i++){
fscanf(f,"%d",&x);
if(x>x+sant)
sant=x,poz1=poz2=i;
else
sant=x+sant,poz2++;
if(sant>smax){
smax=sant;
pozmax1=poz1;
pozmax2=poz2;
}
}
fprintf(g,"%d %d %d",smax,pozmax1,pozmax2);
fclose(f);
fclose(g);
return 0;
}