#HK4089. 「JOI 2024 Final」室温

「JOI 2024 Final」室温

题目描述

题目译自 JOI 2024 Final T1 「室温 / Room Temperature

K 董事长负责调节高管们的房间的室温,他希望高管们能尽可能舒适地工作。

现在房间里有 NN 位高管。每位高管都有一个从 11NN 的编号。不穿外套时,高管 i (1iN)i\ (1 \leq i \leq N) 的舒适温度是 AiA_{i} 度。另外,每位高管每穿一件外套,舒适温度就会降低 TT 度。也就是说,高管 ii 如果穿了 kk 件外套,那么高管 ii 的舒适温度就是 AikTA_{i}-k T 度。

如果房间的温度是 xx 度,某位高管的舒适温度是 yy 度,那么这位高管的不舒适度就是 xy|x-y|。其中,t|t| 表示 tt 的绝对值。每位高管会根据房间的温度,穿上大于等于 00 件合适的外套,使得不舒适度最小。

K 董事长把高管们的不舒适度的最大值称为房间的不舒适度,并决定要把房间的温度设定为使得房间的不舒适度最小的值。但是,设定的温度必须是整数。

给定高管和舒适温度的信息。编写一个程序,求出房间的不舒适度可能的最小值。

输入格式

第一行包含两个整数 N,TN,T

第二行包含用空格分隔的 NN 个整数 A1,A2,ANA_1, A_2, \ldots A_N

输出格式

输出一行一个整数,表示房间的不舒适度可能的最小值。

2 4
19 24
1

如果把房间的温度设定为 1616 度,那么高管 11 会穿一件外套,使得舒适温度变为 1515 度,高管 11 的不舒适度就是 1615=1|16-15|=1。高管 22 会穿两件外套,使得舒适温度变为 1616 度,高管 2 的不舒适度就是 1616=0|16-16|=0

这时,房间的不舒适度就是 11。而且无法把房间的不舒适度降低到 11 以下,所以输出 11

这个样例满足子任务 1,4,51,4,5 的限制。

3 1
21 19 23
0

如果把房间的温度设定为 1919 度,那么房间的不舒适度就是 00。所以输出 00

这个样例满足子任务 2,3,4,52,3,4,5 的限制。

6 8
24 22 21 25 29 17
2

如果把房间的温度设定为 1515 度,那么房间的不舒适度就是 22。无法把房间的不舒适度降低到 22 以下,所以输出 22

这个样例满足子任务 4,54,5 的限制。

数据范围与提示

对于所有输入数据,满足:

  • 2N5×1052 \leq N \leq 5\times 10^5
  • 1T1091 \leq T \leq 10^{9}
  • 1Ai109 (1iN)1 \leq A_{i} \leq 10^{9}\ (1 \leq i \leq N)

详细子任务附加限制及分值如下表所示。

子任务 附加限制 分值
11 N=2N=2 1515
22 N3000,T=1N \leq 3000, T=1 55
33 N3000,T2N \leq 3000, T \leq 2 3030
44 N3000,T3000N \leq 3000, T \leq 3000 3535
55 无附加限制 1515