#group. 2026提高组模拟赛12-T1 程老师的联欢分组

2026提高组模拟赛12-T1 程老师的联欢分组

时间限制:1000ms 内存限制:512MB

题目描述

学校年底办联欢会,程老师负责组织其中一个集体游戏。报名参与的学生共 nn 人,每人有一份入学时的才艺测评,评出一个才艺值,第 ii 名学生的才艺值是 aia_i。测评三年有效,期间不重复测,所以名单上常常有才艺值相同的学生,这很正常。游戏要求把学生分成若干个小组,分组结果当场公布、当场执行,分完不能再调。

组织方对分组有两条硬性规定,一条来自场地,一条来自公平。场地的规定是:每个小组最多 mm 人——游戏区的垫子就那么大,超过 mm 人站不下,这一条没有商量的余地。公平的规定是:同一小组内任意两名学生的才艺值之差不能超过 kk——差距太大会让游戏一边倒,往年就有学生投诉过。两条规定同时生效,一个小组必须两条都满足才算合格。至于一共分几个组、每组具体几个人,只要合格就行。

这里把"差距"怎么看再交代清楚:一个小组是否合格,只看组内才艺值最高的学生和最低的学生,两人的才艺值之差不超过 kk 即可;其余学生自然都夹在中间,不用逐对比较。只有一名学生的小组,没有最高最低可言,一律合格。

学生人数多的时候,分法五花八门:组分得松一些,组数就多,道具和奖品就得多备;组分得紧一些,又怕顶到两条规定的边。总务处按组数下拨物资,每组一份道具箱、一块组牌、一袋奖品,组数越少越省,所以程老师要找出一种合格的分法,使小组的总数最少。需要说明的是,哪怕最极端的情况,让每名学生单独成组也总是合格的——一个人一组,人数不超标,组内也没有第二个人可比较——所以这个问题总有答案,不存在"分不出来"的情况。

联欢会筹备期只有两周,分组方案还要过总务、教务两道审核。往年这项工作靠体育组几位老师对着名单手工划组,名单一长就划不动,划出来的组数也常有水分。今年程老师把名单和两条规定的数字都要了过来:nn 名学生的才艺值、每组人数上限 mm、组内才艺值差距上限 kk。请算出最少需要分多少个小组。

输入格式

第一行三个整数 n,m,kn, m, k,分别表示学生人数、每组人数上限、组内才艺值差距上限。

第二行 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n,表示每名学生的才艺值。

输出格式

输出一行一个整数,表示满足两条规定的前提下,最少的小组数量。

数据范围

测试点编号 nn \le 特殊性质
1 ~ 4 300300
5 ~ 11 20002000
12 ~ 16 10510^5 A
17 ~ 20
  • 特殊性质 A:mnm \ge n
  • 对于全部数据,1mn1051 \le m \le n \le 10^50k1090 \le k \le 10^90ai1090 \le a_i \le 10^9

样例

样例 1

输入

6 2 2
1 2 3 8 9 10

输出

4

解释:一种合格分法是 {1,2}\{1,2\}{3}\{3\}{8,9}\{8,9\}{10}\{10\},共 44 组。1,2,31,2,3 三人才艺值两两之差都不超过 22,看起来能凑一组,但那样组内就有 33 人,超过人数上限 m=2m = 2,只能拆开。再试试别的分法,比如 {1}\{1\}{2,3}\{2,3\}{8}\{8\}{9,10}\{9,10\},同样是 44 组,再少就不够了。

样例 2

输入

5 3 3
5 1 2 4 3

输出

2

解释:把名单按才艺值理一遍:1,2,31, 2, 3 一组(极差 22,人数 33 恰好顶满上限),4,54, 5 一组,共 22 组。55 个人每组最多 33 人,22 组已经是人数规定允许的下限,而差距规定在这里没有造成额外的麻烦。

样例 3

输入

6 3 1
1 5 6 10 11 15

输出

4

解释:人数上限很宽裕,但差距上限 k=1k = 1 卡得紧:5566 能同组,10101111 能同组,其余任意两人凑在一起差距都超。最省的分法是 {1}\{1\}{5,6}\{5,6\}{10,11}\{10,11\}{15}\{15\},共 44 组。

难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
679
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者