#P3184. Finicky Grazers

Finicky Grazers

题目描述

农夫约翰(Farmer John)有NN头奶牛(1N10,0001 \leq N \leq 10,000),编号为11NN。这些奶牛在一条长度为L+1L+1米(NL100,000N \leq L \leq 100,000)的牧场上排成一条直线。每天早上,奶牛们会站在这条直线上的不同整数位置。FJ发现,当奶牛之间的距离最大化时,它们的产奶量会更高。

作为一位精明的农夫,FJ希望通过移动奶牛的位置(只能左右移动,且保持整数间距)来最大化每对相邻奶牛之间的距离。移动时,奶牛之间的相对顺序不能改变,且每次移动1米需要花费1分钟。最终,相邻奶牛之间的距离只能是DDD+1D+1DD为某个整数)。

请帮助FJ计算完成奶牛位置调整所需的最少时间。

输入格式

  • 第1行:两个用空格分隔的整数NNLL
  • 第2行到第N+1N+1行:每行一个整数,表示奶牛ii的初始位置(范围为00LL)。输入数据按位置升序排列。

输出格式

  • 第1行:一个整数,表示FJ调整奶牛位置所需的最少时间。

输入样例

5 10
0
1
4
9
10

输出样例

3

样例解释

初始时奶牛的位置如下: 1 2 - - 3 - - - - 4 5

调整后的位置如下: 1 - 2 - 3 - - 4 - - 5

  • 奶牛22从位置11移动到位置22(移动11米)。
  • 奶牛44从位置99移动到位置77(移动22米)。
  • 其他奶牛未移动。 总移动时间为1+2=31 + 2 = 3分钟,因此输出33

题目来源

USACO 2006年1月青铜组竞赛