#369. 分组

分组

问题描述

蓝桥小学要进行弹弹球游戏,二年级一班总共有 nn 个同学,要求分成 kk 个队伍,由于弹弹球游戏要求队员的身高差不能太大,小蓝是班长,他对这个事情正在发愁,他想问你,如何最小化每个组之间的身高极差。

具体的,假设分成了 kk 个组,第 ii 组最高的人身高是 HxiHx_i ,最矮的是 HniHn_i,你被要求最小化表达式: max1ik(HxiHni)\underset{1 \leq i \leq k}{\max} (Hx_i-Hn_i) 。直白来说,你需要将 nn 个元素分出 kk 组,使得最大的极差尽可能小。你需要输出这个最小化后的值。

输入格式

第一行输入两个整数 n,kn, k

第二行输入 nn 个整数:h1,h2,h3...hnh_1, h_2,h_3...h_n ,分别代表 nn 个人的身高。

输出格式

输出一个整数,代表最小值。

样例输入

5 3
8 4 3 6 9

样例输出

1

说明

样例分组情况:{ 3,43,4 } ,{ 66 } ,{ 8,98,9 } 。

评测数据规模

数据范围: 1kn105,1hi1091 \le k \le n \le 10^5, 1 \le h_i \le 10^9