SP1873 ACARGO - Accumulate Cargo

题目描述

一批货物刚刚到达,需要进行重新分组。这些货物共有 $N$($1 \le N \le 10^5$)个箱子,目前全部放置在一个长度为 $L$ 米($1 \le L \le 10^9$)的环形传送带上。你可以对传送带进行如下操作: - 顺或逆时针方向自由旋转传送带(此操作免费)。 - 在某个位置固定住货物,使其不随传送带滚动,此时它后面的货物会向它靠近一步。任何连续的一段货物被称为一个行李。目标是将所有货物归并为一个整体的行李。注意,每次固定操作的费用与被固定行李的重量成正比。并且只能在行李的两端进行固定操作,而不能在中间固定。 传送带转动速度为每秒一米,每个货物单位重一公斤。费用计算直接反映了劳动所耗费的体力。如果能写出一个程序,帮助找出将所有货物合为一体所需的最小成本,工人们将十分感激。

输入格式

输入由多个测试用例组成。每个测试用例的第一行包含两个整数 $N$ 和 $L$。接下来的 $N$ 行每行给出一个整数,表示第 $i$ 个货物的位置(从 $0$ 到 $L-1$)。输入以一行 $N=0$ 和 $L=0$ 结束,这行数据不需要处理。

输出格式

对于每个测试用例,输出一行一个整数,表示将所有货物合并为一个行李的最小成本。 ## 样例输入 ``` 3 5 0 1 3 2 3 0 1 5 20 2 7 12 9 13 0 0 ``` ## 样例输出 ``` 1 0 10 ``` **注:请使用 64 位整数格式进行计算。** **本翻译由 AI 自动生成**