#p431. 例题7.6.1 石子合并

例题7.6.1 石子合并

题目描述

在操场上沿一直线排列着n堆石子。现要将石子有次序地合并成一堆。

规定每次只能选相邻的两堆石子合并成新的一堆,并将新的一堆石子数计为该次合并的得分。

我们希望这n1n-1次合并后得到的得分总和最小。

输入格式

第一行有一个正整数nnn<=300n<=300),表示石子的堆数;

第二行有nn个正整数,表示每一堆石子的石子数,每两个数之间用一个空格隔开。它们都不大于1000010000

输出格式

一行,一个整数,表示答案。

样例数据

input


3

1 2 9



output


15

数据规模与约定

区间dp第一题

时间限制:1s1 \text {s}

空间限制:256MB256 \text {MB}

#解释


石子:9 4 6 1 5



贪心策略:

9 4 6 6      计分6

9 10 6       计分10

9 16         计分16

25           计分25

得分共计:6+10+16+25=57



但9 4 6 1 5 若如下方式合并:

13 6 1 5     计分13

13 6 6       计分6

13 12        计分12

25           计分25

13+6+12+25=56



或

9 4 6 6      计分6

9 4 12       计分12

13 12        计分13

25           计分25

6+12+13+25=56



后两种方式合并出的56都比贪心策略的57来的更低,因为总选择最小的相邻两堆去合并,并不能保证后续每步

都可以最小,也许这轮最小导致后续几轮分值较大。