#2721. 算法提高 能量项链

算法提高 能量项链

题目描述

在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链。项链上有 NN 颗能量珠。每颗能量珠都有一个头标记与尾标记,这些标记对应某个正整数。

对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。只有这样,通过吸盘的作用,这两颗珠子才能聚合成一颗珠子,同时释放出能量。

如果前一颗能量珠的头标记为 mm,尾标记为 rr,后一颗能量珠的头标记为 rr,尾标记为 nn,则聚合后释放的能量为 m×r×nm\times r\times n,新产生的珠子的头标记为 mm,尾标记为 nn

需要时,Mars 人就用吸盘夹住相邻的两颗珠子进行聚合,直到项链上只剩下一颗珠子为止。不同的聚合顺序得到的总能量可能不同,请你设计一个聚合顺序,使一串项链释放出的总能量最大。

例如,设 N=4N=444 颗珠子的头标记与尾标记依次为 (2,3),(3,5),(5,10),(10,2)(2,3),(3,5),(5,10),(10,2)。用记号 \oplus 表示两颗珠子的聚合操作,则第 4411 两颗珠子聚合后释放的能量为:

(41)=10×2×3=60(4\oplus1)=10\times2\times3=60

这一串项链可以得到最优值的一个聚合顺序为 ((41)2)3((4\oplus1)\oplus2)\oplus3,释放的总能量为:

$$10\times2\times3+10\times3\times5+10\times5\times10=710$$

输入格式

第一行输入一个正整数 NN,表示项链上珠子的个数。

第二行输入 NN 个用空格隔开的正整数。第 ii 个数为第 ii 颗珠子的头标记。当 i<Ni<N 时,第 ii 颗珠子的尾标记等于第 i+1i+1 颗珠子的头标记;第 NN 颗珠子的尾标记等于第 11 颗珠子的头标记。

输出格式

输出一行一个正整数 EE,表示一个最优聚合顺序所释放的总能量。

样例

4
2 3 5 10
710

数据范围

4N1004 \le N \le 100,所有标记值均不超过 10001000E2.1×109E \le 2.1\times10^9

来源

蓝桥杯练习系统