Cod sursa(job #361050)
| Utilizator | Data | 3 noiembrie 2009 16:26:08 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <stdio.h>
FILE*f=fopen("ssm.in","r");
FILE*g=fopen("ssm.out","w");
int n,bests,pozs,last;
void citire(){
int best,poz,i,elm;
fscanf(f,"%d",&n);
fscanf(f,"%d",&best);
poz=1;
last=1;
for(int i=2;i<=n;i++){
fscanf(f,"%d",&elm);
if(elm <= best + elm){
best+=elm;
}else{
best=elm;
poz=i;
}
if(best>bests){
bests=best;
pozs=poz;
last = i;
}
}
}
void afis(){
fprintf(g,"%d %d %d",bests,pozs,last);
}
int main(){
citire();
afis();
fclose(f);
fclose(g);
return 0;
}
