#P3628. [APIO2010] 特别行动队

    ID: 1810 Type: RemoteJudge 1000ms 125MiB Tried: 1 Accepted: 1 Difficulty: 6 Uploaded By: Tags>动态规划,dp2010单调队列APIO斜率优化前缀和队列

[APIO2010] 特别行动队

题目描述

你有一支由 nn 名预备役士兵组成的部队,士兵从 11nn 编号,你要将他们拆分成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号应该连续,即为形如 (i,i+1,i+k)(i, i + 1, \cdots i + k)的序列。所有的队员都应该属于且仅属于一支特别行动队。

编号为 ii 的士兵的初始战斗力为 xix_i ,一支特别行动队的初始战斗力 XX 为队内士兵初始战斗力之和,即 X=xi+xi+1++xi+kX = x_i + x_{i+1} + \cdots + x_{i+k}

通过长期的观察,你总结出对于一支初始战斗力为 XX 的特别行动队,其修正战斗力 X=aX2+bX+cX'= aX^2+bX+c,其中 a, b, ca,~b,~c 是已知的系数(a<0a < 0)。 作为部队统帅,现在你要为这支部队进行编队,使得所有特别行动队的修正战斗力之和最大。试求出这个最大和。

输入格式

输入的第一行是一个整数 nn,代表士兵的人数。

输入的第二行有三个用空格隔开的整数,依次代表 a, b, ca,~b,~c,即修正战斗力的系数。

输入的第三行有 nn 个用空格隔开的整数,第 ii 个整数代表编号为 ii 的士兵的初始战斗力 xix_i

输出格式

输出一行一个整数,代表最大的所有特别行动队战斗力之和。

4 
-1 10 -20 
2 2 3 4 
9

提示

样例输入输出 11 解释

你有 44 名士兵,x1=2, x2=2, x3=3, x4=4x_1 = 2,~x_2 = 2,~x_3 = 3,~x_4=4。修正战斗力公式中的参数为 a=1, b=10, c=20a = -1,~b = 10,~c = -20

此时,最佳方案是将士兵组成 33 个特别行动队:第一队包含士兵 11 和士兵 22,第二队包含士兵 33,第三队包含士兵 44。特别行动队的初始战斗力分别为 4, 3, 44,~3,~4,修正后的战斗力分别为 42+10×420=4-4^2 + 10 \times 4 -20 = 432+10×320=1-3^2 + 10 \times 3 - 20 = 142+10×420=4-4^2 + 10 \times 4 -20 = 4。修正后的战斗力和为 4+1+4=94 + 1 + 4 = 9,没有其它方案能使修正后的战斗力和更大。

数据范围与约定

对于 20%20\% 的数据,n103n \leq 10^3

对于 50%50\% 的数据,n104n \leq 10^4

对于 100%100\% 的数据,1n1061 \leq n \leq 10^65a1-5 \leq a \leq -1107b107-10^7 \leq b \leq 10^7107c107-10^7 \leq c \leq 10^71xi1001 \leq x_i \leq 100