【题目描述】
小 W 要把机器的产物送到n个基地。 机器和基地都分布在一根数轴上,机器位于原点,而第i个基地位于坐标?[i]。机器 处有充分多的产物,而每个基地都想要一盒产物。 小 W 的背包能装下k盒产物;也就是说,他可以在原点装满背包后出发,沿着数 轴前进,把产物分配给他途经的k个基地。如果此时所有基地都收到了产物,小 W 就 完成了任务;否则,他需要回到原点,装满背包,再次出发。 小 W 希望自己走的路程尽可能短,请你计算这个路程。
【输入格式】
从标准输入中读入数据。 本题有多组数据。 对于每组数据,第一行包含两个整数n,k表示基地的个数和小 W 的背包容量。 之后一行包含n个整数 x[1] , x[2] , …, x[n]表示基地的坐标。
【输出格式】
输出到标准输出中。 对于每组数据,输出一行一个整数,表示小 W 走的最短路程。
【样例 1 输入】
4
5 1
1 2 3 4 5
9 3
-5 ‐10 ‐15 6 5 8 3 7 4
5 3
2 2 3 3 3
4 2
1000000000 1000000000 1000000000 1000000000
【样例 1 输出】
25
41
7
3000000000
【样例 1 解释】
• 对于第一组数据,你可以选择路径:0 → 2 → 0 → 4 → 0 → 3 → 0 → 1 → 0 → 5
• 对于第二组数据,你可以选择路径:0 → 6 → 8 → 7 → 0 → 5 → 4 → 3 → 0 → (−5) → (−10) → (−15)