#SLT07A. 2026年S组模拟赛10连测第7场-T1 程老师的试剂分组
2026年S组模拟赛10连测第7场-T1 程老师的试剂分组
| 项目 | 内容 |
|---|---|
| 输入文件名 | reagent.in |
| 输出文件名 | reagent.out |
| 可执行文件名 | reagent |
| 每个测试点时限 | 1.0 秒 |
| 内存限制 | 512 MiB |
| 测试点数目 | 20 |
| 是否等分 | 是 |
结果比较方式为全文比较(过滤行末空格及文末换行)。
题目描述
实验室在入库时给每种试剂编了一个种类号。今天送到待处理区的是 瓶试剂,程老师按送检顺序把它们登记成一行,其中第 瓶试剂的种类号为 :登记值相同表示这两瓶属于同一种类,登记值不同表示种类不同。登记完成之后,瓶与瓶之间的先后顺序不再有意义——某一瓶试剂放进哪只盒子,只由它的种类号决定。
这些试剂要用同一种规格的盒子分装后送出。装盒必须同时满足两条规矩:同一只盒子里,任意两瓶试剂的种类号都不相同;每只盒子至多装 瓶试剂。盒子的数量不限,但用到的每一只盒子里都要装至少一瓶试剂。
仓库管理员在出库单上只登记这一批试剂一共用掉多少只盒子,不登记具体的装盒方案;只要盒数相同,各种装法都算同样的结果。
请你根据送检登记的结果算出:在两条规矩都满足的前提下,这一批试剂最少要用多少只盒子。
输入格式
从文件 reagent.in 中读入数据。
第一行两个整数 ,分别表示试剂的瓶数与每只盒子最多能装的瓶数。
第二行 个整数 ,依次表示每瓶试剂的种类号。
输出格式
输出到文件 reagent.out 中。
输出一行一个整数,表示最少需要用到的盒子数。
样例
6 3
1 1 2 2 2 3
3
样例 1 解释
这 6 瓶试剂里,种类号为 2 的有 3 瓶。它们两两种类相同,任何两瓶都不能放进同一只盒子,因此盒子数不可能少于 3。而 3 只盒子也确实够用:第一只盒子装种类 2、种类 1、种类 3 的试剂各一瓶,第二只盒子装种类 2、种类 1 的试剂各一瓶,第三只盒子装剩下的那一瓶种类 2 的试剂——三只盒子分别装了 3 瓶、2 瓶、1 瓶,都没有超过 3 瓶,盒内也没有重复的种类号。所以最少是 3 只盒子。
5 2
1 2 3 4 5
3
样例 2 解释
这 5 瓶试剂的种类号两两不同,因此种类号互不相同的限制不会妨碍任何一种装箱安排;但每只盒子至多装 2 瓶,5 瓶至少要 3 只盒子。而 3 只盒子也确实够用:把种类 1 与种类 2 的两瓶装进一只盒子,把种类 3 与种类 4 的两瓶装进另一只盒子,剩下的一瓶单独装一只盒子——每只盒子都不超过 2 瓶。所以最少是 3 只盒子。
数据范围
对于所有测试数据,保证:
- ;
- ;
- 。
各测试点的约束如下(表中只列出 的上界, 与 仅受上述全局约束限制):
| 测试点 | 特殊性质 | |
|---|---|---|
| 无 | ||
| A | ||
| B |
- 特殊性质 A:所有试剂的种类号都相同。
- 特殊性质 B:任意两瓶试剂的种类号都不相同。
- ID
- 3793
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者