最大连续序列的和

时限:1000ms 内存限制:10000K  总时限:3000ms

描述:

给定一个连续的整数序列a[1],a[2],a[3],……….a[n],你的任务就是计算所有的它的子连续序列的最大和,例如:给定一个连续序列(6,-1,5,4,-7),最大和的子连续序列是(6,-1,5,4,-7),最大的和是14,即6+(-1)+5+4=14. 再例如,一个连续的序列是(0,6,-1,1,-6,7,-5),它的子连续序列的最大和是7,最大连续子序列是(0,6,-1,1,-6,7).

输入:

输入的第一个数字N代表给定的连续整数序列的个数(1<=N<=10000),然后后面跟着N个数,表示是N个连续整数序列(每一个数的范围在-1000和1000之间).

输出:

输出三个数,第一个表示子序列的最大和,然后第二个和第三个数表示最大和的子序列的开始位置为结束位置。如果有多组最好解,只要输出第一个最优解就可以了
注意:输出格式为,第两个数之间以一个空格隔开.比如下面样例的输出(14 1 4)中14和1之间,以及1和4之间是以一个空格隔开的,而4后面和14前面是没有空格的.输出数据总共占一行.

输入样例:

5 6 -1 5 4 -7

输出样例:

14 1 4

posted on 2011-06-21 22:27  ruce.fan  阅读(168)  评论(0编辑  收藏  举报

导航