Cod sursa(job #261033)
#include<stdio.h>
int s[2], smax = 0, i, n, inc[2], in , out, a;
int main(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for (i = 1; i <= n; i++){
scanf("%d", &a);
if ((a > 0 && s[(i+1)%2] < 0) || (a >= s[(i+1)%2] + a))
s[i%2] = a, inc[i%2] = i;
else
s[i%2] = s[(i+1)%2] + a, inc[i%2] = inc[(i+1)%2];
if ( s[i%2] > smax){
smax = s[i%2];
in = inc[i%2];
out = i;
}
//printf("%d %d %d\n", s[i%2], inc[i%2], i);
}
printf("%d %d %d\n", smax, in, out);
return 0;
}