HX4380. 平方拼图

提交2 通过2
通过率100%
时间限制1000ms
内存限制128MiB

题目描述

题目描述

平方拼图是用一堆牌来玩的,这些牌排成一行,每一张牌都包含一个正整数。在移动过程中,玩家从一行中取出一张牌,并按所取牌上的数字与左右两张牌上的数字之和的平方来得分。如果取出最左的卡片,就只计算它和右边卡片之和的平方。取最右的卡片,就只计算它和左边卡片之和的平方。

我们的目标是采取某种顺序取牌以尽量增加总得分。

例如,如果一行中的牌包含数字 20,1,5020,1,50,玩家可能会先拿一张 11 的牌,然后拿 2020 和 5050 的牌,这样的得分为

(20+1+50)2+(20+50)2+502=5041+4900+2500=12441(20+1+50)^2+(20+50)^2+50^2=5041+4900+2500=12441。

如果它按照相反的顺序拿牌,即先拿 5050,再拿 2020,最后拿 11,这样的得分为

(1+50)2+(20+1)2+12=2601+441+1=3043(1+50)^2+(20+1)^2+1^2=2601+441+1=3043。

输入格式

第一行为一个整数 NN,表示卡牌的数量。

接下来 NN 个数字,第 ii 个数字 aia_{i}表示第 ii 张牌上的数字。

输出格式

一个数字,表示最大得分。

3
20 1 50
12441
5
3 3 7 2 10
1286
10
11 5 9 21 1 18 22 23 9 4
19086

数据范围与约定

第一行为一个整数 NN(3≤N≤1003\le N\le100),表示卡牌的数量。

接下来 NN 个数字,第 ii 个数字 aia_{i}(1≤ai≤1001\le a_{i}\le100)表示第 ii 张牌上的数字。

(3≤N≤1003\le N\le100)

(1≤ai≤1001\le a_{i}\le100)