CF2018A.Cards Partition
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
DJ Genki vs Gram - Einherjar Joker
⠀
你有若干张卡片。每张卡片上写有一个介于 1 和 n 之间的整数:具体来说,对于每个 i 从 1 到 n,你有 ai 张写有数字 i 的卡片。
商店中提供无限量的各类卡片。你拥有 k 枚硬币,因此最多可以购买 k 张新卡片,购买的卡片可以包含 1 到 n 之间的任意整数(含边界)。
在购买新卡片后,你必须将所有卡片按照以下规则分配成若干牌组:
- 所有牌组必须具有相同的大小;
- 同一牌组中不允许存在两张数值相同的卡片。
请找出在最优购买和分配方案下,牌组可能的最大大小。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 n,k(1≤n≤2⋅105,0≤k≤1016)——分别表示不同种类卡片的数量和硬币的数量。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(0≤ai≤1010,∑ai≥1)——表示初始时你拥有的各类卡片数量,其中 1≤i≤n。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
对于每个测试用例,输出一个整数:表示在最优操作下牌组可能的最大大小。
输入输出样例
输入#1
9 3 1 3 2 2 5 4 2 6 1 2 4 2 100 1410065408 10000000000 10 8 7 4 6 6 9 3 10 2 8 7 2 12 2 2 2 70 0 1 1 0 1 3 0 2 1 2 3 1 0 3 3
输出#1
2 3 1 7 2 2 1 1 2
说明/提示
在第一个测试用例中,你可以购买一张写有数字 1 的卡片,此时你的卡片变为 [1,1,1,1,2,2,3,3]。你可以将它们分配为牌组 [1,2],[1,2],[1,3],[1,3],所有牌组的大小均为 2 且包含不同数值。可以证明无法得到大小大于 2 的分配方案,因此答案为 2。
在第二个测试用例中,你可以购买两张写有数字 1 的卡片和一张写有数字 3 的卡片,此时卡片变为 [1,1,1,1,2,2,2,2,2,2,3,3,4,4,5,5,5,4],可以分配为 [1,2,3],[1,2,4],[1,2,5],[1,2,5],[2,3,5],[2,4,5]。可以证明无法得到大小大于 3 的分配方案,因此答案为 3。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?