对于给定的长度为 的数组 ,你可以选择两个相邻的元素 和 ,将它们相加合并为一个新元素,合并后与这两个元素相邻的元素将与新的这个元素相邻,合并的代价为这个新元素的值。 求解将全部 个元素合并为一个元素需要的最小代价。
输入描述:
第一行输入一个整数 代表数组中的元素数量。第二行输入 个整数 代表数组中的元素。


输出描述:
在一行上输出一个整数,代表将全部 个元素合并为一个元素需要的最小代价。
示例1

输入

6
1 1 4 5 1 4

输出

39

说明

\hspace{15pt}在这个样例中,最优的合并方式为:
\hspace{22.5pt}\bullet\第一次合并 \{{\color{orange}{1, 1}}, 4, 5, 1, 4 \} 代价 2
\hspace{22.5pt}\bullet\第二次合并 \{2, 4, 5, {\color{orange}{1, 4}} \} 代价 5
\hspace{22.5pt}\bullet\第三次合并 \{{\color{orange}{2, 4}}, 5, 5 \} 代价 6
\hspace{22.5pt}\bullet\第四次合并 \{6, {\color{orange}{5, 5}} \} 代价 10
\hspace{22.5pt}\bullet\第五次合并 \{{\color{orange}{6, 10}} \} 代价 16
\hspace{15pt}综上,总代价为 2+5+6+10+16=39 。我们可以证明这是最小的代价。
加载中...