#1313. 切胡萝卜(Easy)
切胡萝卜(Easy)
题目描述
这是该问题的简单版本。在这个版本中,你只需要解决 的情况。
你有 根胡萝卜,它们的初始长度分别为 。为了把这些胡萝卜卖给一个只想要长度完全相同的胡萝卜的顾客,你需要使用一台切菜机对胡萝卜进行处理。
切菜机的工作规则如下:
- 在每次操作中,你可以选择任意一个胡萝卜的集合(切开后的胡萝卜也可以再次被选择)以及一个正整数 。
- 接着,对于被选中的每一根胡萝卜(设其长度为 ):
- 如果 ,该胡萝卜保持不变;
- 如果 ,该胡萝卜将被切分为两根长度分别为 和 的胡萝卜。
请问在恰好使用切菜机 次(本题中 )之后,你最多能得到多少根长度完全相同的胡萝卜?
输入格式
第一行包含一个整数 ()—— 测试用例的数量。
对于每个测试用例:
- 第一行包含两个正整数 和 ()—— 分别表示胡萝卜的数量以及胡萝卜的最大可能长度。
- 第二行包含 个正整数 ()—— 表示每根胡萝卜的初始长度。
输出格式
对于每个测试用例,输出一行一个整数,表示在 次操作后,能得到的具有相同长度的胡萝卜的最大数量。
样例输入 1
6
5 4
1 2 3 4 4
5 8
1 1 8 8 8
1 8
6
7 9
1 7 5 1 7 5 3
4 1
1 1 1 1
3 5
3 1 5
样例输出 1
6
6
2
7
4
3
说明
样例解释
在第一个测试用例中,给定的胡萝卜长度为 。 由于 ,我们只能进行一次操作。最优的选择是取 ,并选择胡萝卜集合 进行操作:
- 长度为 的胡萝卜:因为 ,所以不受影响。
- 长度为 的胡萝卜:被切分为长度为 和 的两根。
- 长度为 的胡萝卜:被切分为长度为 和 的两根(共有两根长度为 的,所以会产生四根长度为 的)。
操作完成后,所有的胡萝卜长度变为 (包含了最初未被选中的那根长度为 的胡萝卜)。 此时我们总共拥有 根长度为 的胡萝卜,因此最大数量为 。
数据范围
- 对于所有测试点,保证 。
- 对于每个测试用例,保证 。
- 对于每个测试用例,保证 。
- 保证同一测试点内所有测试用例的 之和不超过 ,所有测试用例的 之和也不超过 。
- 保证所有的输入数值均为整数。