4612 - 打靶的最高得分

题目描述

靶场上有 nn 块靶排成一排,从左到右依次编号为 123...n1、2、3、...、n,且每块靶上都标有一个整数。

当某块靶被击中后,击中者会得到 x * y * z 的积分。(yy 表示被击中的靶上的数,xx 表示其左侧最近且未被击中的靶上的数,zz 表示其右侧最近且未被击中的靶上的数。如果其左侧不存在未被击中的靶,则 xx11;如果其右侧不存在未被击中的靶,则 zz11。)

计算完积分后,这块靶就会退出靶场(不在这排靶中)。

请计算击中所有靶后能得到的最高积分是多少?

例如:n=4n = 4,表示有 44 块靶,这 44 块靶上的数从左到右分别是 33224466

按照下列顺序打靶,可以得到最高积分:

  • 22 号靶,得到的积分是 24243243 * 2 * 4);

  • 33 号靶,得到的积分是 72723463 * 4 * 6);

  • 11 号靶,得到的积分是 18181361 * 3 * 6);

  • 44 号靶,得到的积分是 661611 * 6 * 1);

最终获得的积分是 12024+72+18+6)120(24 + 72 + 18 + 6)

输入

第一行输入一个整数 n1n300n(1 \le n \le 300),表示靶场上靶的数量。

第二行输入 nn 个整数(11 \le 整数100 \le 100),分别表示从左到右每个靶上的数,整数之间以一个空格隔开。

输出

输出一个整数,表示击中所有靶后能得到的最高积分。

样例

输入
复制

4
3 2 4 6

输出
复制

120
来源

蓝桥杯十五届STEMA考试 C++试卷(24年3月)

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 8
通过人数 6
金币数量 2 枚
难度 基础


上一题 下一题