CF1267J.Just Arrange the Icons
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
BerPhone X 即将发布,预装了 n 个应用程序。每个应用程序都有一个类别,表示该应用的类型或主题(如“游戏”、“商务”或“教育”)。类别用 1 到 n 之间的整数表示,第 i 个应用的类别为 ci。
你可以选择 m —— 屏幕的数量,以及 s —— 每个屏幕的容量。你需要将所有 n 个应用的图标(每个应用一个图标)安排到屏幕上,满足以下要求:
- 每个屏幕上的所有图标必须属于同一类别的应用(不同屏幕可以包含同一类别的应用的图标);
- 每个屏幕上的图标数量要么正好等于 s,要么等于 s−1。
你的任务是求出最小可能的屏幕数量 m。
输入格式
第一行包含一个整数 t(1≤t≤10000),表示测试用例的数量。接下来有 t 个测试用例。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅106),表示图标的数量。第二行包含 n 个整数 c1,c2,…,cn(1≤ci≤n),其中 ci 表示第 i 个应用的类别。
保证所有测试用例中 n 的总和不超过 2⋅106。
输出格式
输出 t 个整数,按输入顺序依次给出每个测试用例的答案。每个答案为一个整数 m,即满足要求的最小屏幕数量。
输入输出样例
输入#1
3 11 1 5 1 5 1 5 1 1 1 1 5 6 1 2 2 2 2 1 5 4 3 3 1 2
输出#1
3 3 4
说明/提示
在示例的第一个测试用例中,所有图标可以放在三个容量为 4 的屏幕上:一个放 4 个类别为 1 的图标,一个放 3 个类别为 1 的图标,一个放 4 个类别为 5 的图标。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?