#2725. 徐老师的合并果子

徐老师的合并果子

Description

徐老师家里最近大丰收,收获的果子放成了一排,一堆一堆的堆在地上,总共有 $n$ 堆

但是堆在地上,铺的太长,太碍事了,于是徐老师借了一辆小推车,可以每次把一整堆的果子合并到另一堆里去(这里我们认为不管一堆果子有多少个,一次都能搬运完)

如果徐老师将位置 $A$ 的果子移动到位置 $B$,需要消耗 $|A-B|$ 的体力

徐老师实在是太懒了,他也懒得把所有果子合并成一堆,他只要求最后果子不超过 $m$ 堆,别碍着人走路就好了

现在徐老师想知道,自己最少需要花费多少体力?


Input Format


第一行包含两个整数,之间以一个空格隔开,分别是$n$,$m$,表示有 $n$ 堆果子,$m$ 代表最大堆数。

第二行包含 $n$ 个整数,$a_i$ 表示第 $i$ 堆果子在坐标值为$a_i$处,之间以一个空格隔开。


| 数据点编号 | $n$的范围            | $m$的范围         | $a_i$的范围                |
| ---------- | -------------------- | ----------------- | -------------------------- |
| $1$~$3$        | $1 \leq n \leq 10^3$ | $m= 1$            | $1 \leq a_i \leq 10^3$     |
| $4$~$5$    | $1 \leq n \leq 10^3$ | $1 \leq m \leq n$ | $-10^9 \leq a_i \leq 10^9$  |
| $6$~$10$   | $1 \leq n \leq 10^6$ | $1 \leq m \leq n$ | $-10^9 \leq a_i \leq 10^9$  |


Output Format


一个整数,表示徐老师最少需要花费的体力
4 1
10 5 3 12
9

Source

23CSP-J暑假模拟赛