#2236. 【基础】合并果子
【基础】合并果子
题目描述
在一个果园里,多多已经将所有果子打了下来,并且按果子的不同种类分成了不同的堆。多多决定把所有果子合成一堆。
每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。所有果子经过 次合并之后,就只剩下一堆了。多多总共消耗的体力等于每次合并所耗体力之和。
因为还要花大力气把这些果子搬回家,所以多多希望在合并果子时尽可能节省体力。假定每个果子重量都为 ,并且已知果子的种类数和每种果子的数量,请设计合并顺序,使多多耗费的体力最少,并输出最小体力耗费值。
例如有 种果子,数量依次为 。可以先将 和 两堆合并,新堆数量为 ,耗费体力为 ;再将新堆与原先第三堆合并,得到数量为 的新堆,耗费体力为 。总耗费为 ,可以证明这是最小值。
输入格式
第一行输入一个整数 ,表示果子的种类数。
第二行输入 个整数,第 个整数 表示第 种果子的数量。
输出格式
输出一个整数,表示最小的体力耗费值。
样例
3
1 2 9
15
数据范围
,。
输入数据保证答案小于 。
来源
贪心 / 队列