Cod sursa(job #2438567)
Utilizator | Horia Banciu Horia14 | Data | 12 iulie 2019 19:13:05 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include<cstdio>
#define oo 0x7fffffff
int main() {
int n, x, bestSum, sum, start, b, e, i;
FILE* fin, *fout;
fin = fopen("ssm.in","r");
fout = fopen("ssm.out","w");
fscanf(fin,"%d",&n);
b = e = start = 1;
bestSum = -oo;
sum = 0;
for(i = 1; i <= n; i++) {
fscanf(fin,"%d",&x);
if(sum < 0) {
sum = x;
start = i;
} else sum += x;
if(sum > bestSum) {
bestSum = sum;
b = start;
e = i;
}
}
fprintf(fout,"%d %d %d\n",bestSum,b,e);
fclose(fin);
fclose(fout);
return 0;
}