Description
农夫 John(简称FJ)想对围着牧场的一小段栅栏作修补。他测量了栅栏长度,发现一共需要 N(1 ≤ N ≤ 20000)块木板,第 i 块木板的长度是 Li 个单位(1 ≤ Li ≤ 50000)。他买了一块长木板,其长度正好足够切成 N 块这样的木板。忽略每次锯木板的损失。
FJ 发现他并没有锯子,于是他带着这块长木板找到 Don 的农场去问她能不能借一把锯子。Don 并没有把锯子借给 FJ 而是向 FJ 收费,切一段木板一次的花销是木板的总长度。例如切一段 21 单位长的木板一次的花费是 21 单位。Don 让 FJ 决定且木板的顺序。请你帮助 FJ 计算把木板切成要求的 N 段需要的最小费用。切木板有很多种方式,不同切割方式会在切割过程中产生不同的中间长度,导致总花费不同。
Input
第一行输入 N,表示需要N块木板;
接下来 N 个数表示每段木板的长度要求。
Output
一个整数,表示进行N-1次切割必须花费的最小金额
HINT
样例解释:
把一块长21的木板切成8、5和8的小块。
木板长度是8+5+8=21。第一次切割的成本是21,应该用来把木板切割成13和8的大小。第二次削减将花费13,并应用于削减13成8和5。这将花费21+13=34。如果将21削减为16,将5削减为5,那么第二次削减将花费16,总共37(比34多)。