Description
在一条马路上摆放n堆石子(n≤500),现要将石子有次序地合并成一堆。每次只能移动任意相邻的2堆石子合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。
编写一程序,读入石子对数n及每堆石子数,实现:
(1)选择一种合并石子的方案,使得做n-1次合并,得分的总和最小;
(2)选择一种合并石子的方案,使得做n-1次合并,得分的总和最大。
Input
第1行为n,代表n堆石子;第2行为n个整数,代表每堆石子的数量。
Output
第1行为合并的得分总和最小值;第2行为合并的得分总和最大值。
Sample Input 1
4
4 5 9 4
Sample Output 1
44
54
Algorithm
把i到j分解为 i 到