Cod sursa(job #2292265)
| Utilizator | Data | 29 noiembrie 2018 11:29:35 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fin, *fout;
fin=fopen("ssm.in", "r");
fout=fopen("ssm.out", "w");
int n, s, inc=1, i, summax, incmax, sfmax, x;
fscanf(fin, "%d %d", &n, &x);
inc=incmax=sfmax=1;
s=x;
summax=x;
for(i=2; i<=n; i++)
{
fscanf(fin, "%d", &x);
if(s<0){
inc=i;
s=x;
}
else
s=s+x;
if(s>summax){
summax=s;
incmax=inc;
sfmax=i;
}
}
fprintf(fout, "%d %d %d", summax, incmax, sfmax);
fclose(fin);
fclose(fout);
return 0;
}
