AT_kupc2012_10 刺身
题目描述
狐狸しえる在河边钓鱼。钓到了一条又黑又细长的鱼,于是决定当场把它切成片做成生鱼片吃。
鱼的体长为 $N$ 厘米。奇怪的是,这条鱼身体的各个部分密度不同。把鱼的身体从头部开始每 $1$ 厘米划分一段并依次编号为 $1、2、……、N$ 时,身体第 $i$ 部分的重量为 $w [i]$。把鱼的第 $i$ 部分到第 $j$ 部分表示为 $[i..j]$。最初,可以认为しえる只拿着一张鱼的身体 $[0..N - 1]$。しえる想要把它切开,最终得到被分割成 N 个的鱼的身体 $[0..0],[1..1],...,[N - 1..N - 1]$。
しえる现在在野外,没有砧板之类的东西,所以决定用一种杂技般的方法来切鱼的身体:首先,拿起一张鱼的身体,把它表示为 $[i..j]$。这条鱼的身体长度必须至少为 $2$ 厘米以上,即 $j - i ≥ 1$。接着,把它抛向空中。然后手持日本刀,把在空中飞舞的鱼切成两半。此时,しえる凭借强壮的运动神经可以在任意位置切开这条鱼,但必须在 $1$ 厘米划分的位置切开。这样,原来鱼的身体 $[i..j]$ 就会根据任意的切断位置 $k(i ≤ k < j)$,被分割成 $[i..k]$ 和 $[k + 1..j]$ 两部分。用这种杂技般的方法把鱼的身体切成两部分时,会花费与原来身体重量相等的成本(即$ w [i]+w [i + 1]+...+w [j]$)。
しえる想要把鱼的所有部分切成 $1$ 厘米长的小段,并且使花费的总成本总和最小。
输入格式
```
N
w1 w2... wN
```
$N$ 是鱼的体长。
$w_{i}$ 是鱼的第 $i$ 部分的重量。
输出格式
请输出将鱼切成 $N$ 个部分所花费的总成本的最小值。
**输入输出样例**
#1输入
```
3
1 2 3
```
#1输出
```
9
```
#2输入
```
6
9876543210 9876543210 9876543210 9876543210 9876543210 9876543210
```
#2输出
```
158024691360
```
#3输入
```
10
127 131 137 139 149 151 157 163 167 173
```
#3输出
```
5016
```
说明/提示
输入值全都是整数。
对于 $30\%$的数据:
$2≤N≤100,1≤w_{i}≤10^{10}$。
对于 $100\%$的数据:
$2≤N≤4000,1≤w_{i}≤10^{10}$。