石子合并问题

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

在一个圆形操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分。
对于给定n堆石子,计算合并成一堆的最小得分。

Input

输入数据的第1 行是正整数n(n≤5000),表示有n堆石子。第2 行有n个数,分别表示每堆石子的个数。

Output

将计算出的最小得分输出。

Sample Input

4
4 4 5 9

Sample Output

54

Hint

Source