Cod sursa(job #640664)
#include <stdio.h>
#include <string.h>
long n, i, sum, v, pozi, mf, mi, max, y;
char s[60000001];
int main() {
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%ld\n", &n);
gets(s);
long h = 0;
long aux = strlen(s);
for (i = 1; i <= n; ++i) {
v = 0;
y = 1;
if (s[h] == '-') y = -1, ++h;
while (s[h] != ' ' && h < aux) v *= 10, v += (long)(s[h] - '0'), ++h;
++h;
v *= y;
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;
}