描述
约翰有$ N( 2 ≤ N ≤ 1500 )$头奶牛,$ S ( N ≤ S ≤ 1,000,000) $个一字排开的牛棚.相邻牛棚间的距离恰好为1.
奶牛们已经回棚休息,第$i$只奶牛现在待在牛棚$P_i$.如果两只奶牛离得太近,会让奶牛们变得很暴躁.所以约翰想给一些奶牛换一个棚,让她们之间的距离变得尽量大,并且尽管接近.令$d=Trunc((s-1)/(n-1)) $(向下取整)
所以约翰希望最终的奶牛的状态是:两只相邻奶牛间的距离与$d$之差不超过1,而且让尽量多的间距等于$d$.因此,对于4只奶牛8个棚的情况,1,3,5,8或1,3,6,8这样的安置情况是允许的,而1,2,4,7或1,2,4,8这样的情况是不允许的.
帮助约翰移动奶牛,让所有奶牛的移动距离之和最小,同时让最终的安置情况符合约翰心意.
输入
第一行两个正整数$N$和$S$。
下面第2行到第$N+1$行,表示每个奶牛初始所在的牛棚编号$P_i$
输出
仅一个数字,为满足条件下的奶牛的最小总移动距离
样例
- 复制
- 复制
提示


关注我们