开始 2024-05-25 14:30:00

区间动态规划

结束 2024-05-31 00:00:00
Contest is over.
当前 2024-12-22 09:05:02

E. 合并石子1

描述

n堆石子排成一排,其编号为1,2,3,…,n(n≤100)。每堆石子有一定的数量,例如有7堆石子,分别为13,7,8,16,21,4,18

现在要将n堆石子归并成为一堆,归并的过程为每次只能将相邻的两堆石子堆成一堆,这样经过n-1次归并后成为一堆,如上面的7堆石子,可以有多种方法归并成一堆,其中的两种方法如下图所示。

输入

则 (a)的归并代价为20+24+25+44+69+87=267

(b)的归并代价为15+37+22+28+59+87=248

可见不同的过程得到的归并代价是不一样的,现在请编程找出一种合理的方法,使归并代价最小。

输出

第一行为一个整数n(1<n≤100),表示有n堆石子。

第二行为n堆石子的数量。

样例

输入

7
13 7 8 16 21 4 18

输出

239

输入

10
12  3  13  7  8  23  14  6  9  34

输出

398

Submit

登录

注册
时间限制 1 秒
内存限制 128 MB
提交