#T1612. 「一本通 5.6 练习 3」特别行动队

「一本通 5.6 练习 3」特别行动队

题目描述

你有一支由 nn 名预备役士兵组成的部队,士兵从 11 到 nn 编号,你要将他们拆分成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号应该连续,即为形如 (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

数据范围与提示

样例解释:最佳方案是将士兵组成 33 个特别行动队:第一队包含士兵 11 和士兵 22,第二队包含士兵 33,第三队包含士兵 44。初始战斗力分别为 4,3,44,3,4,修正后分别为 4,1,44,1,4,和为 99。

对于 20%20\% 的数据,n≤1000n\le 1000;对于 50%50\% 的数据,n≤104n\le 10^4;

对于全部数据,1≤n≤1061\le n\le 10^6,−5≤a≤−1-5\le a\le -1,−107≤b≤107-10^7\le b\le 10^7,−107≤c≤107-10^7\le c\le 10^7,1≤xi≤1001\le x_i\le 100。

来源:《信息学奥赛一本通·提高篇》第五部分第 6 章 练习 3(APIO2010,洛谷 P3628)。