#P2135. 刷题计划

刷题计划

Description

为了提高自己的实力,gx 想要指定一个合理的刷题计划。这里我们用实数来表示题目的难度,并且把刷题计划中由题目难度组成的序列称为刷题序列。gx 刷题最喜欢循序渐进的方式,最理想的情况莫过于刷题序列是个等差数列了。但是这很难做到,于是我们定义一个刷题序列 aa 的偏离值 p(a)=i=2n(aiai1L)2p(a)=\sum\limits_{i=2}^n (a_i-a_{i-1}-L)^2 ,其中 LL 是一个给定的常数。

现在 gx 的老师已经布置给了他 nn 道必做题,同时他还有空余时间从 OJ 上找 mm 道题目来刷。他不希望改变这 nn 道必做题的相对顺序,但是选做题的难度以及在数列中的位置都是任意的(OJ 上的题目太多了,随你怎么挑)。

gx 希望你帮他设计一个刷题序列,使得该序列的偏离值最小。

Input Format

输入的第一行包含三个数:$n$,$m$, $L$。
n是整数,表示必做题有$n$道,$m$是整数,表示选做题有$m$道,$L$是实数。
第二行包含$n$个实数,依次表示每道必做题的难度。

11nn5000050000,

11mm100000000100000000

100-100LL100100

|aiai|≤100100

Output Format

输出一个实数,表示最小的偏离值。保留三位小数。

4 3 1.0
1 4 5 3
8.000
【样例说明】
将原序列(1,4,5,3)变成(1,2,3,4,5,4,3),偏离值为8.00。