Cod sursa(job #326243)
| Utilizator | Data | 24 iunie 2009 13:24:35 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 75 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <stdio.h>
int n, k, sol = -2147000000, sum, p, q, st;
int main() {
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", &k);
if (k > sol) sol = k;
sum += k;
if (sum && st == 0)
st = i;
if (sum > sol) {
p = st;
q = i;
sol = sum;
}
if (sum < 0) {
st = 0;
sum = 0;
}
}
printf("%d %d %d\n", sol, p, q);
return 0;
}
