Dotcpp  >  编程题库  >  信息学奥赛一本通T1569-石子合并
题目 2474:

信息学奥赛一本通T1569-石子合并

时间限制: 2s 内存限制: 192MB 提交: 164 解决: 51

题目描述

将 n 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。
请编写一个程序,读入堆数 n 及每堆的石子数,并进行如下计算:

1、选择一种合并石子的方案,使得做 n−1 次合并得分总和最大。
2、选择一种合并石子的方案,使得做 n−1 次合并得分总和最小。

输入格式

输入第一行一个整数 n,表示有 n 堆石子。
第二行 n 个整数,表示每堆石子的数量。

输出格式

输出共两行:
第一行为合并得分总和最小值,
第二行为合并得分总和最大值。

样例输入

4
4 5 9 4

样例输出

43
54

提示

数据范围与提示:

对于 100% 的数据,有 1≤n≤200。

标签