Cod sursa(job #2290340)
Utilizator | Data | 26 noiembrie 2018 12:00:35 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
int sc, i, n, x, smax, in=1, te=1, in2=1;
FILE *fin, *fout;
fin=fopen("ssm.in", "r");
fout=fopen("ssm.out", "w");
fscanf(fin, "%d", &n);
smax=1<<31;
sc=0;
for(i=1; i<=n; i++){
fscanf(fin, "%d", &x);
if(x>sc+x){
sc=x;
in=i;
}
else{
sc+=x;
}
if(sc>smax){
smax=sc;
in2=in;
te=i;
}
}
fprintf(fout, "%d %d %d", smax, in2, te);
return 0;
}