【题目描述】
小 W 要把机器的产物送到 ? 个基地。
机器和基地都分布在一根数轴上,机器位于原点,而第 ? 个基地位于坐标 ??。机器
处有充分多的产物,而每个基地都想要一盒产物。
小 W 的背包能装下 ? 盒产物;也就是说,他可以在原点装满背包后出发,沿着数
轴前进,把产物分配给他途经的 ? 个基地。如果此时所有基地都收到了产物,小 W 就
完成了任务;否则,他需要回到原点,装满背包,再次出发。
小 W 希望自己走的路程尽可能短,请你计算这个路程。
【输入格式】
从标准输入中读入数据。
本题有多组数据。
对于每组数据,第一行包含两个整数 ?, ?,表示基地的个数和小 W 的背包容量。
之后一行包含 ? 个整数 ?1
, ?2
, …, ??,表示基地的坐标。
【输出格式】
输出到标准输出中。
对于每组数据,输出一行一个整数,表示小 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)