CF BUDDY
← Problems·

1701C · Schedule Management

1400 · binary search, greedy, implementation

Problem: There are nn workers and mm tasks. The workers are numbered from 11 to nn. Each task ii has a value aia_i — the index of worker who is proficient in this task.

Every task should have a worker assigned to it. If a worker is proficient in the task, they complete it in 11 hour. Otherwise, it takes them 22 hours.

The workers work in parallel, independently of each other. Each worker can only work on one task at once.

Assign the workers to all tasks in such a way that the tasks are completed as early as possible. The work starts at time 00. What's the minimum time all tasks can be completed by?

Input Format: The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of testcases.

The first line of each testcase contains two integers nn and mm (1nm21051 \le n \le m \le 2 \cdot 10^5) — the number of workers and the number of tasks.

The second line contains mm integers a1,a2,,ama_1, a_2, \dots, a_m (1ain1 \le a_i \le n) — the index of the worker proficient in the ii-th task.

The sum of mm over all testcases doesn't exceed 21052 \cdot 10^5.

Output Format: For each testcase, print a single integer — the minimum time all tasks can be completed by.

Note: In the first testcase, the first worker works on tasks 11 and 33, and the second worker works on tasks 22 and 44. Since they both are proficient in the corresponding tasks, they take 11 hour on each. Both of them complete 22 tasks in 22 hours. Thus, all tasks are completed by 22 hours.

In the second testcase, it's optimal to assign the first worker to tasks 1,21, 2 and 33 and the second worker to task 44. The first worker spends 33 hours, the second worker spends 22 hours (since they are not proficient in the taken task).

In the third example, each worker can be assigned to the task they are proficient at. Thus, each of them complete their task in 11 hour.

Sample Cases

Case 1

Input

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

Output

2
3
1
1

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback