Cod sursa(job #1782276)
Utilizator | Data | 17 octombrie 2016 21:52:37 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <stdio.h>
#include <stdlib.h>
#define INF 2100000000
int main()
{
int n, a, s, x, i, in, sf, maxs;
FILE *fi, *fo;
fi = fopen("ssm.in", "r");
fo = fopen("ssm.out", "w");
fscanf(fi, "%d%d", &n, &a);
s=a;
x=0;
maxs=-INF;
for(i=1; i<n; i++) {
fscanf(fi, "%d", &a);
if(s+a<a) {
s=a;
x=i;
}
else
s=s+a;
if(s>maxs) {
maxs=s;
in=x;
sf=i;
}
}
fprintf(fo, "%d %d %d", maxs, in+1, sf+1);
fclose(fi);
fclose(fo);
return 0;
}