#672. 能量项链
能量项链
问题描述
在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链。在项链上有 颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。只有这样,通过吸盘的作用,这两颗珠子才能聚合成一颗珠子,同时释放出能量。
若前一颗能量珠的头标记为 、尾标记为 ,后一颗能量珠的头标记为 、尾标记为 ,则聚合后释放的能量为 (Mars 单位),新产生的珠子头标记为 ,尾标记为 。
Mars 人会不断用吸盘夹住相邻的两颗珠子,将它们聚合,直到项链上只剩下一颗珠子为止。由于不同的聚合顺序会产生不同的总能量,需要找出一种聚合顺序,使得整个项链释放出的总能量最大。
例如:设 ,四颗珠子的头标记与尾标记依次为 、、、。记号 ⊕ 表示聚合操作,则第 4、1 两颗珠子聚合后:
一个能得到最优值的聚合顺序为:
$((4⊕1)⊕2)⊕3 = 10\times2\times3 + 10\times3\times5 + 10\times5\times10 = 710$
输入文件
输入文件 energy.in 的第一行是一个正整数 (),表示项链上珠子的个数。
第二行是 个用空格隔开的正整数,为各珠子的头标记,所有数字不超过 1000。
- 当 时,第 颗珠子的尾标记等于第 颗珠子的头标记。
- 第 颗珠子的尾标记等于第 颗珠子的头标记。
项链顺序可按任意起点顺时针规定,只要不出现交叉即可。
输出文件
输出文件 energy.out 只有一行,输出一个正整数 (),表示一个最优聚合顺序能够释放的总能量。
输入样例
4
2 3 5 10
输出样例
710
统计
相关
在以下作业中: