3269 - 玩具装箱魔改版
时间限制 : 1 秒
内存限制 : 128 MB
本题相比原题,修改了物品长度可能为负数,修改了测试数据范围
P 教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。
P 教授有编号为 1 \cdots n 的 n 件玩具,第 i 件玩具经过压缩后的一维长度为 C_i。注意,P 教授因为平时科研发明了一些奇奇怪怪的虚空玩具,物品的长度可能为负数,即\exists C_i < 0 。
为了方便整理,P教授要求:
在一个一维容器中的玩具编号是连续的。
同时如果一个一维容器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充物。形式地说,如果将第 i 件玩具到第 j 个玩具放到一个容器中,那么容器的长度将为 x=j-i+\sum\limits_{k=i}^{j}C_k。
制作容器的费用与容器的长度有关,根据教授研究,如果容器长度为 x,其制作费用为 (x-L)^2。其中 L 是一个常量。P 教授不关心容器的数目,他可以制作出任意长度的容器,甚至超过 L,甚至小于0。但他希望所有容器的总费用最小。
输入
第一行有两个整数,用一个空格隔开,分别代表 n 和 L。
第 2 到 第 (n + 1) 行,每行一个整数,第 (i + 1) 行的整数代表第 i 件玩具的长度 C_i。
输出
输出一行一个整数,代表所有容器的总费用最小是多少。
样例
输入
5 4 3 4 2 1 4
输出
1
输入
6 4 3 4 2 3 -3 4
输出
1
输入
12 10 5 7 -3 0 1 2 4 5 7 -2 10 -18
输出
17
提示
对于全部的测试点,1 \leq n \leq 5 \times 10^5,1 \leq L \leq 10^6,| C_i | \leq 10^6。