最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 玩具装箱

C++ 少儿编程 1097浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

【题目描述】

原题来自:HNOI 2008

P 教授要去看奥运,但是他舍不得他的玩具,于是他决定把所有的玩具运到北京。

他使用自己的压缩器进行压缩。这个压缩器可以将任意物品变成一维,再放到一种特殊的一维容器中。P 教授有编号为 $1…N$ 的 $N$ 件玩具,玩具经过压缩后会变成一维,第 $i$ 件件玩具压缩后长度为 $C_i$ 。

为了方便整理,P 教授要求:

在一个一维容器中,玩具的编号是连续的;

如果一个一维容器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充物。形式地说,如果要将 $i$ 号玩具到 $j$ 号玩具 ($i≤j$) 放到同一个容器中,则容器长度不小于$x=j-i+sum_{k=i}^jC_k$

制作容器的费用与容器的长度有关,根据教授研究,如果容器长度为 $x$,其制作费用为 $(X-L)^2$ ,其中 $L$ 是一个常量。

P 教授不关心容器的数目,他可以制作出任意长度的容器,甚至超过 $L$。试求最小费用。

【输入】

第一行输入两个整数 $N,L$;

接下来 $N$ 行,每行一个整数 $C_i$ 。

【输出】

输出最小费用。

【输入样例】

5 4
3
4
2
1
4

【输出样例】

1

【提示】

数据范围与提示:

对于全部数据,$1le Nle 5 × 10^4,1le L,C_ile 10^7$ 。

您必须 登录 才能发表评论!