#group. 2026提高组模拟赛12-T1 程老师的联欢分组
2026提高组模拟赛12-T1 程老师的联欢分组
时间限制:1000ms 内存限制:512MB
题目描述
学校年底办联欢会,程老师负责组织其中一个集体游戏。报名参与的学生共 人,每人有一份入学时的才艺测评,评出一个才艺值,第 名学生的才艺值是 。测评三年有效,期间不重复测,所以名单上常常有才艺值相同的学生,这很正常。游戏要求把学生分成若干个小组,分组结果当场公布、当场执行,分完不能再调。
组织方对分组有两条硬性规定,一条来自场地,一条来自公平。场地的规定是:每个小组最多 人——游戏区的垫子就那么大,超过 人站不下,这一条没有商量的余地。公平的规定是:同一小组内任意两名学生的才艺值之差不能超过 ——差距太大会让游戏一边倒,往年就有学生投诉过。两条规定同时生效,一个小组必须两条都满足才算合格。至于一共分几个组、每组具体几个人,只要合格就行。
这里把"差距"怎么看再交代清楚:一个小组是否合格,只看组内才艺值最高的学生和最低的学生,两人的才艺值之差不超过 即可;其余学生自然都夹在中间,不用逐对比较。只有一名学生的小组,没有最高最低可言,一律合格。
学生人数多的时候,分法五花八门:组分得松一些,组数就多,道具和奖品就得多备;组分得紧一些,又怕顶到两条规定的边。总务处按组数下拨物资,每组一份道具箱、一块组牌、一袋奖品,组数越少越省,所以程老师要找出一种合格的分法,使小组的总数最少。需要说明的是,哪怕最极端的情况,让每名学生单独成组也总是合格的——一个人一组,人数不超标,组内也没有第二个人可比较——所以这个问题总有答案,不存在"分不出来"的情况。
联欢会筹备期只有两周,分组方案还要过总务、教务两道审核。往年这项工作靠体育组几位老师对着名单手工划组,名单一长就划不动,划出来的组数也常有水分。今年程老师把名单和两条规定的数字都要了过来: 名学生的才艺值、每组人数上限 、组内才艺值差距上限 。请算出最少需要分多少个小组。
输入格式
第一行三个整数 ,分别表示学生人数、每组人数上限、组内才艺值差距上限。
第二行 个整数 ,表示每名学生的才艺值。
输出格式
输出一行一个整数,表示满足两条规定的前提下,最少的小组数量。
数据范围
| 测试点编号 | 特殊性质 | |
|---|---|---|
| 1 ~ 4 | 无 | |
| 5 ~ 11 | ||
| 12 ~ 16 | A | |
| 17 ~ 20 | 无 |
- 特殊性质 A:。
- 对于全部数据,,,。
样例
样例 1
输入:
6 2 2
1 2 3 8 9 10
输出:
4
解释:一种合格分法是 、、、,共 组。 三人才艺值两两之差都不超过 ,看起来能凑一组,但那样组内就有 人,超过人数上限 ,只能拆开。再试试别的分法,比如 、、、,同样是 组,再少就不够了。
样例 2
输入:
5 3 3
5 1 2 4 3
输出:
2
解释:把名单按才艺值理一遍: 一组(极差 ,人数 恰好顶满上限), 一组,共 组。 个人每组最多 人, 组已经是人数规定允许的下限,而差距规定在这里没有造成额外的麻烦。
样例 3
输入:
6 3 1
1 5 6 10 11 15
输出:
4
解释:人数上限很宽裕,但差距上限 卡得紧: 和 能同组, 和 能同组,其余任意两人凑在一起差距都超。最省的分法是 、、、,共 组。
- ID
- 679
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者