7_2 最大乘积(UVa11059)<枚举连续子序列>

给一个数字集合{ S1,S2,…,Sn },请从这个数字集合里找出一段连续数字,使他们的乘积是最大的。以Case 1为例子,2 x 4 = 8为这个集合的最大乘积;而Case 2则为2 x 5 x(–1)x 2 x(–1)=20。如果你找到的最大乘积小于等于0,则最后答案应输出0。
Input
每组测试数据开头为一个正整数1≤N≤18,代表这个集合有几个数字。每个数字Si都是范围-10≤Si≤10的整数。下一列则为这个集合的N个数字。各组测试数据之间都有一个空白列。请用EOF判断档案结束。
Output
每组测试数据印出一列:“Case #M: The maximum product is P.”。其中M代表测资的编号(从1开始计数),而P代表的则是集合的最大乘积。每组测试数据后面请印出一行空白列。

Sample Input
3
2 4 -3
5
2 5 -1 2 -1
3
-9 -7 -8
2
1 -1
1
-9

Sample Output

Case #1: The maximum product is 8.
Case #2: The maximum product is 20.
Case #3: The maximum product is 63.
Case #4: The maximum product is 1.
Case #5: The maximum product is 0.

posted @ 2016-06-11 21:35  九江镇中  阅读(262)  评论(0编辑  收藏  举报