Cod sursa(job #1529674)
| Utilizator | Data | 21 noiembrie 2015 10:20:18 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fin,*fout;
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
int n,nr,sumamax=0,suma=0,j=1,k=1,jk=1,i;
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++){
fscanf(fin,"%d",&nr);
suma=suma+nr;
if(suma>sumamax){
sumamax=suma;
k=i;
jk=j;
}
if(suma<0){
suma=suma-nr;
j=i+1;
suma=0;
}
}
if(suma>sumamax){
sumamax=suma;
k=i-1;
jk=j;
}
fprintf(fout,"%d %d %d",sumamax,jk,k);
return 0;
}
