玩具装箱
时间限制:1秒 内存限制:256M
【题目描述】
Py教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。
他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。Py教授有编号为 \(1..N\) 的 \(N\) 件玩具,第 \(i\) 件玩具经过压缩后变成一维长度为 \(C_i\)。
为方便整理,Py教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充物,形式地说如果将第 \(i\) 件玩具到第 \(j\) 个玩具放到一个容器中,那么容器的长度将为 \(x=j-i+\sum_{k=1}^{j}{C_k}\) 制作容器的费用与容器的长度有关,据教授研究,如果容器长度为 \(X\),其制作费用为 \((X-L)^2\).其中 \(L\) 是一个常量。
Py教授不关心容器的数目,他可以制作出任意长度的容器,甚至超过 \(L\)。但他希望费用最小。
【输入格式】
第一行输入两个整数 \(N,L\).接下来 \(N\) 行输入 \(C_i\).
【输出格式】
输出最小费用
【输入输出样例】
Input
5 4
3
4
2
1
4
Output
1
【数据限制】
\(100\%\) 的数据满足:\(1≤N≤50000\),\(1≤L,C_i≤10^7\)。
【来源】
Mr.he