#1064. [USACO ] Grazing on the Run 边跑边吃草

[USACO ] Grazing on the Run 边跑边吃草

时间限制:1000ms  空间限制:256MB

题目描述

John 养了一只叫 Joseph 的奶牛。一次她去放牛,来到一个非常长的一片地,上面有 N(1N1000)N(1≤N≤1000) 块地方长了茂盛的草。我们可以认为草地是一个数轴上的一些点。Joseph 看到这些草非常兴奋,它想把它们全部吃光。于是它开始左右行走,吃草。John 和 Joseph 开始的时候站在 LL 位置。Joseph 的移动速度是一个单位时间一个单位距离。不幸的是,草如果长时间不吃,就会腐败。我们定义一堆草的腐败值是从 Joseph 开始吃草到吃到这堆草的总时间。Joseph 可不想吃太腐败的草,它请 John 帮它安排一个路线,使得它吃完所有的草后,总腐败值最小。John 的数学很烂,她不知道该怎样做,你能帮她么?

输入格式

第一行,两个整数 NNLL

接下来 NN 行,每行一个整数,表示每个草堆的位置 p,1p1000000p,1≤p≤1000000

输出格式

一行,一个整数,表示 Joseph 把所有的草堆吃完时,最小的总腐败时间。

样例

输入#1

4 10
1
9
11
19

输出#1

44

解释#1

草堆的位置分别是 1,9,11,19, Joseph 开始的位置是 10

time 0 时,Bessie在位置10

time 1 时,移动到位置9

time 3 时,移动到位置11

time 11时,移动到位置19

time 29时,移动到位置29

总的腐败时间是44

题目来源

[USACO 2005 nov]

部分分

10%的数据, $N=1$
另有20%的数据,$N<=20$
对于60%的数据,$N<=500$
对于100%的数据,$N<=1000$