Cod sursa(job #640660)
| Utilizator | Data | 26 noiembrie 2011 11:43:49 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 75 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.39 kb |
#include <stdio.h>
#include <math.h>
long n, i, sum, v, pozi, mf, mi, max;
int main() {
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%ld", &n);
for (i = 1; i <= n; ++i) {
scanf("%ld", &v);
sum += v;
if (max < sum) {max = sum; mi = pozi; mf = i;}
if (sum < 0) {sum = 0; pozi = i + 1;}
}
printf("%ld %ld %ld\n", max, mi, mf);
return 0;
}
