#672. 能量项链

能量项链

问题描述

在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链。在项链上有 NN 颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。只有这样,通过吸盘的作用,这两颗珠子才能聚合成一颗珠子,同时释放出能量。

若前一颗能量珠的头标记为 mm、尾标记为 rr,后一颗能量珠的头标记为 rr、尾标记为 nn,则聚合后释放的能量为 m×r×nm \times r \times n(Mars 单位),新产生的珠子头标记为 mm,尾标记为 nn

Mars 人会不断用吸盘夹住相邻的两颗珠子,将它们聚合,直到项链上只剩下一颗珠子为止。由于不同的聚合顺序会产生不同的总能量,需要找出一种聚合顺序,使得整个项链释放出的总能量最大。

例如:设 N=4N=4,四颗珠子的头标记与尾标记依次为 (2,3)(2,3)(3,5)(3,5)(5,10)(5,10)(10,2)(10,2)。记号 ⊕ 表示聚合操作,则第 4、1 两颗珠子聚合后:

(41)=10×2×3=60(4⊕1)=10 \times 2 \times 3 = 60

一个能得到最优值的聚合顺序为:

$((4⊕1)⊕2)⊕3 = 10\times2\times3 + 10\times3\times5 + 10\times5\times10 = 710$

输入文件

输入文件 energy.in 的第一行是一个正整数 NN4N1004 \le N \le 100),表示项链上珠子的个数。

第二行是 NN 个用空格隔开的正整数,为各珠子的头标记,所有数字不超过 1000。

  • i<Ni < N 时,第 ii 颗珠子的尾标记等于第 i+1i+1 颗珠子的头标记。
  • NN 颗珠子的尾标记等于第 11 颗珠子的头标记。

项链顺序可按任意起点顺时针规定,只要不出现交叉即可。

输出文件

输出文件 energy.out 只有一行,输出一个正整数 EEE2.1×109E \le 2.1 \times 10^9),表示一个最优聚合顺序能够释放的总能量。

输入样例

4
2 3 5 10

输出样例

710