图片被删除,或者路径改变
问题1569--炼药

1569: 炼药

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MiB

题目描述

有 n 个 Steve 和 m 个炼药任务,Steve 的编号从 1 到 n,每个炼药任务都对应着一个 Steve 精通,对应 Steve 的编号为 ai。
每个炼药任务都应该由一个 Steve 负责,如果 Steve 精通该炼药任务,那么只需要 1 天便可以完成炼制,否则需要花费 2 天。
Steve 们并行炼制,彼此独立,并且每个 Steve 一次只能进行一个炼药任务。
将 Steve 分配到所有炼药任务中,以便尽早完成炼制,那么完成所有炼制的最短时间是多少?

输入

第一行包含一个整数 t(1 ≤ t ≤ 1000),代表有 t 个测试样例。
对于每个测试样例:
第一行包含两个整数 n,m1 ≤ n ≤ m ≤ 2e5),代表 Steve 的个数和炼药任务的个数。
第二行包含 m 个整数 ai1 ≤ ai ≤ n,代表精通第 i 个炼药任务的 Steve 的编号。
数据保证 m 的总和不超过 2e5。

输出

每个测试样例输出占一行,包含一个整数,代表完成所有炼制的最短时间。

样例输入 Copy

4
2 4
1 2 1 2
2 4
1 1 1 1
5 5
5 1 3 2 4
1 1
1

样例输出 Copy

2
3
1
1

提示

对于第一个样例:
第一个 Steve 负责第 1 个和第 3 个炼药任务,第二个 Steve 负责第 2 个和第 4 个炼药任务,他们都精通对应任务,因此每个人用时 2 小时,故完成所有炼制需要 2 小时。
对于第二个样例:
第一个 Steve 负责第 1 个、第 2 个、第 3 个炼药任务,第二个 Steve 负责第 4 个炼药任务,这是最理想的时间分配,第一个 Steve 用时 3 小时,第二个 Steve 用时 2 小时,故完成所有炼制需要 3 小时。

来源/分类