[JOI 2024 Final] 室温
题目描述
K 董事长负责调节高管们的房间的室温,他希望高管们能尽可能舒适地工作。
现在房间里有 N N N 位高管。每位高管都有一个从 1 1 1 到 N N N 的编号。不穿外套时,高管 i ( 1 ≤ i ≤ N ) i\ (1 \leq i \leq N) i (1≤i≤N) 的舒适温度是 A i A_{i} Ai 度。另外,每位高管每穿一件外套,舒适温度就会降低 T T T 度。也就是说,高管 i i i 如果穿了 k k k 件外套,那么高管 i i i 的舒适温度就是 A i − k T A_{i}-k T Ai−kT 度。
如果房间的温度是 x x x 度,某位高管的舒适温度是 y y y 度,那么这位高管的不舒适度就是 ∣ x − y ∣ |x-y| ∣x−y∣。其中, ∣ t ∣ |t| ∣t∣ 表示 t t t 的绝对值。每位高管会根据房间的温度,穿上大于等于 0 0 0 件合适的外套,使得不舒适度最小。
K 董事长把高管们的不舒适度的最大值称为房间的不舒适度,并决定要把房间的温度设定为使得房间的不舒适度最小的值。但是,设定的温度必须是整数。
给定高管和舒适温度的信息。编写一个程序,求出房间的不舒适度可能的最小值。
输入格式
第一行包含两个整数 N , T N,T N,T。
第二行包含用空格分隔的 N N N 个整数 A 1 , A 2 , … , A N A_1, A_2, \ldots, A_N A1,A2,…,AN。
输出格式
输出一行一个整数,表示房间的不舒适度可能的最小值。
样例 #1
样例输入 #1
2 4
19 24
样例输出 #1
1
样例 #2
样例输入 #2
3 1
21 19 23
样例输出 #2
0
样例 #3
样例输入 #3
6 8
24 22 21 25 29 17
样例输出 #3
2
提示
对于所有输入数据,满足:
- 2 ≤ N ≤ 5 × 1 0 5 2 \leq N \leq 5\times 10^5 2≤N≤5×105
- 1 ≤ T ≤ 1 0 9 1 \leq T \leq 10^{9} 1≤T≤109
- 1 ≤ A i ≤ 1 0 9 ( 1 ≤ i ≤ N ) 1 \leq A_{i} \leq 10^{9}(1 \leq i \leq N) 1≤Ai≤109(1≤i≤N)
详细子任务附加限制及分值如下表所示。
子任务 | 附加限制 | 分值 |
---|---|---|
1 | N = 2 N=2 N=2 | 15 |
2 | N ≤ 3000 , T = 1 N \leq 3000, T=1 N≤3000,T=1 | 5 |
3 | N ≤ 3000 , T ≤ 2 N \leq 3000, T \leq 2 N≤3000,T≤2 | 30 |
4 | N ≤ 3000 , T ≤ 3000 N \leq 3000, T \leq 3000 N≤3000,T≤3000 | 35 |
5 | 无附加限制 | 15 |
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容