#Z1032. 缩小极差

缩小极差

题目描述

给定 nn 个正整数 a1,a2,,ana_1, a_2, \dots, a_n 以及两个整数 m,km, k。你可以选择至多 mm 个数,将选中的每个数增加 kk。一个数至多被选择一次。求操作后所有数中最大值与最小值之差的最小值。

你需要最小化 maxaiminai\max a'_i - \min a'_i,其中 aia'_i 是操作后的数组。

输入格式

第一行三个正整数 n,m,kn, m, k

第二行 nn 个正整数 a1,a2,,ana_1, a_2, \dots, a_n

输出格式

一行一个整数,表示操作后最大值与最小值之差的最小值。

2 2 10
8 9
1
3 2 10
1 10 12
2
4 1 5
2 6 9 11
5

样例解释

样例 11:不选择任何数做加法,最大值 99,最小值 88,差值为 11

样例 22:选择第一个数加 1010,变为 [11,10,12][11,10,12],最大值与最小值的差为 22

样例 33:不操作时最大值 1111,最小值 22,差值为 99。选择 2255 变为 77,数组变为 [7,6,9,11][7,6,9,11],最大值 1111,最小值 66,差值为 55,这是最优方案。

数据范围与约定

子任务 分值 限制
11 3030 n20n \le 20mnm \le n
22 n300n \le 300mnm \le n
33 4040 n105n \le 10^5mnm \le n

对于所有数据,1n1051 \le n \le 10^51mn1 \le m \le n1k1051 \le k \le 10^51ai1091 \le a_i \le 10^9

下发样例

下发样例下载