AT_abc374_f [ABC374F] Shipping

题目描述

[problemUrl]: https://atcoder.jp/contests/abc374/tasks/abc374_f > Keyence 以即日发货闻名。 在本题中,日历按照 $1$ 日、$2$ 日、$3$ 日、$\dots$ 这样依次递增。 共有 $1,2,\dots,N$ 个订单,第 $i$ 个订单在第 $T_i$ 天产生。 对于这些订单,需要按照以下规则进行发货: - 每次发货最多可以同时处理 $K$ 个订单。 - 第 $i$ 个订单只能在 $T_i$ 日及之后发货。 - 每次发货后,必须等待 $X$ 天后才能进行下一次发货。 - 也就是说,如果在第 $a$ 天进行了发货,则下一次发货最早可以在第 $a+X$ 天进行。 每个订单从下单到发货,每延迟 $1$ 天会累计 $1$ 点不满度。 也就是说,如果第 $i$ 个订单在第 $S_i$ 天发货,则该订单累计的不满度为 $(S_i - T_i)$。 请合理安排发货的时机,使所有订单累计的不满度总和达到最小,并输出该最小值。

输入格式

输入以如下格式从标准输入读入。 > $N$ $K$ $X$ $T_1$ $T_2$ $\dots$ $T_N$

输出格式

请输出一个整数,表示最小可能的不满度总和。

说明/提示

### 限制条件 - 所有输入均为整数。 - $1 \leq K \leq N \leq 100$ - $1 \leq X \leq 10^9$ - $1 \leq T_1 \leq T_2 \leq \dots \leq T_N \leq 10^{12}$ ### 样例解释 1 例如,按照如下方式发货,可以使不满度总和为 $2$,这是可以达到的最小值。 - 第 $1$ 个订单在第 $1$ 天发货。 - 这样该订单的不满度为 $(1-1)=0$,下次发货最早在第 $4$ 天。 - 第 $2$、$3$ 个订单在第 $6$ 天发货。 - 这样这两个订单的不满度为 $(6-5)+(6-6)=1$,下次发货最早在第 $9$ 天。 - 第 $4$ 个订单在第 $10$ 天发货。 - 这样该订单的不满度为 $(10-10)=0$,下次发货最早在第 $13$ 天。 - 第 $5$ 个订单在第 $13$ 天发货。 - 这样该订单的不满度为 $(13-12)=1$,下次发货最早在第 $16$ 天。 由 ChatGPT 4.1 翻译