#1313. 切胡萝卜(Easy)

切胡萝卜(Easy)

题目描述

这是该问题的简单版本。在这个版本中,你只需要解决 k=1k=1 的情况。

你有 nn 根胡萝卜,它们的初始长度分别为 a1,a2,…,ana_1, a_2, \dots, a_n。为了把这些胡萝卜卖给一个只想要长度完全相同的胡萝卜的顾客,你需要使用一台切菜机对胡萝卜进行处理。

切菜机的工作规则如下:

  • 在每次操作中,你可以选择任意一个胡萝卜的集合(切开后的胡萝卜也可以再次被选择)以及一个正整数 xx。
  • 接着,对于被选中的每一根胡萝卜(设其长度为 ll):
    • 如果 l≤xl \le x,该胡萝卜保持不变;
    • 如果 l>xl > x,该胡萝卜将被切分为两根长度分别为 xx 和 l−xl-x 的胡萝卜。

请问在恰好使用切菜机 kk 次(本题中 k=1k=1)之后,你最多能得到多少根长度完全相同的胡萝卜?

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。

对于每个测试用例:

  • 第一行包含两个正整数 nn 和 mm(1≤n,m≤2×1051 \le n, m \le 2 \times 10^5)—— 分别表示胡萝卜的数量以及胡萝卜的最大可能长度。
  • 第二行包含 nn 个正整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤m1 \le a_i \le m)—— 表示每根胡萝卜的初始长度。

输出格式

对于每个测试用例,输出一行一个整数,表示在 k=1k=1 次操作后,能得到的具有相同长度的胡萝卜的最大数量。

样例输入 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

说明

样例解释

在第一个测试用例中,给定的胡萝卜长度为 [1,2,3,4,4][1, 2, 3, 4, 4]。 由于 k=1k=1,我们只能进行一次操作。最优的选择是取 x=2x=2,并选择胡萝卜集合 [2,3,4,4][2, 3, 4, 4] 进行操作:

  • 长度为 22 的胡萝卜:因为 2≤22 \le 2,所以不受影响。
  • 长度为 33 的胡萝卜:被切分为长度为 22 和 11 的两根。
  • 长度为 44 的胡萝卜:被切分为长度为 22 和 22 的两根(共有两根长度为 44 的,所以会产生四根长度为 22 的)。

操作完成后,所有的胡萝卜长度变为 [1,2,2,1,2,2,2,2][1, 2, 2, 1, 2, 2, 2, 2](包含了最初未被选中的那根长度为 11 的胡萝卜)。 此时我们总共拥有 66 根长度为 22 的胡萝卜,因此最大数量为 66。

数据范围

  • 对于所有测试点,保证 1≤t≤1041 \le t \le 10^4。
  • 对于每个测试用例,保证 1≤n,m≤2×1051 \le n, m \le 2 \times 10^5。
  • 对于每个测试用例,保证 1≤ai≤m1 \le a_i \le m。
  • 保证同一测试点内所有测试用例的 nn 之和不超过 2×1052 \times 10^5,所有测试用例的 mm 之和也不超过 2×1052 \times 10^5。
  • 保证所有的输入数值均为整数。