http://acm.hdu.edu.cn/showproblem.php?pid=1231
/*
2011-9-12
author:BearFly1990
*/
package acm.hdu.tests;
import java.io.BufferedInputStream;
import java.util.Arrays;
import java.util.Scanner;
public class HDU_1231 {
private static Number[] nk = new Number[10001];
public static void main(String[] args) {
Scanner in = new Scanner(new BufferedInputStream(System.in));
while(in.hasNext()){
int n = in.nextInt();
if(n == 0)break;
for(int i = 1; i <= n; i++){
int num = in.nextInt();
nk[i] = new Number(num,num,num);
}
int tag = 1;
int maxsum = nk[1].num;
for(int i = 2; i <= n; i++){
if(nk[i-1].sum > 0){
nk[i].sum = nk[i-1].sum + nk[i].num;
nk[i].begin = nk[i-1].begin;
}
if(nk[i].sum > maxsum){
maxsum = nk[i].sum;
tag = i;
}
}
if(maxsum < 0)
System.out.printf("0 %d %d\r\n",nk[1].num,nk[n].num);
else
System.out.printf("%d %d %d\r\n",maxsum,nk[tag].begin,nk[tag].num);
}
}
public static class Number{
int num;
int sum;
public Number(int num, int sum, int begin) {
this.num = num;
this.sum = sum;
this.begin = begin;
}
int begin;
}
}