#P1019. 小核桃与积木堆

小核桃与积木堆

题目描述

数字线上的某些整数坐标处有nn个积木,小核桃不喜欢积木四处散落。所以他打算搬动积木,堆成不超过mm堆的积木堆,从坐标值XX搬到到坐标值YY需要消耗XY|X-Y|的能量。计算小核桃把玩具堆成不超过mm堆需要消耗的最小能量值。

输入描述

第一行包含两个整数,之间以一个空格隔开,分别是nn,mmnn代表积木总数量,mm代表最大堆数。

第二行包含nn个整数,xix_i表示积木ii所处坐标值为aia_i,之间以一个空格隔开。

输出描述

计算出把积木堆成不超过mm堆需要消耗的最小能量值。

4 1
10 5 3 12
9
4 2
1 20 3 100
19

样例1说明:

位于坐标值33的第三个积木移动到位于坐标值55的第二个积木的位置,消耗能量值为53=25-3=2。 位于坐标值55的两个积木移动到位于坐标值1010的第一个积木的位置,消耗能量值为105=510-5=5。 位于坐标值1010的三个积木移动到位于坐标值1212的第四个积木的位置,消耗能量值为1210=212-10=2。 这样形成一堆积木,消耗能量值为2+5+2=92+5+2=9

样例2说明:

位于坐标值11的第一个积木移动到位于坐标值33的第三个积木的位置,消耗能量值为31=23-1=2。 位于坐标值2020的第二个积木也移动到位于坐标值3的第三个积木的位置,消耗能量值为203=1720-3=17。 这样形成两堆积木,消耗能量值为2+17=192+17=19

数据范围

每组数据点1010分,共1010组数据。

数据点编号 nn的范围 mm的范围 aia_i的范围
11~33 1n1031 \leq n \leq 10^3 m=1m= 1 1ai1031 \leq a_i \leq 10^3
44~55 1mn1 \leq m \leq n 109ai10910^9 \leq a_i \leq 10^9
66~1010 1n1061 \leq n \leq 10^6