Cod sursa(job #297868)
Utilizator | Data | 5 aprilie 2009 17:48:51 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <cstdio>
#include <climits>
int main()
{
FILE *f = fopen("ssm.in", "r");
int n, v, s = 0, smax = -INT_MAX, beg, end, ibun = 1;
fscanf(f, "%d", &n);
for (int i = 1; i <= n; i++)
{
fscanf(f, "%d", &v);
if (s < 0)
s = v, ibun = i;
else
s += v;
if (s > smax)
smax = s, beg = ibun, end = i;
}
fclose(f);
fopen("ssm.out", "w");
fprintf(f, "%d %d %d\n", smax, beg, end);
fclose(f);
return 0;
}