# **E. Adjusting Drones**
**Time limit:** 2 seconds
**Memory limit:** 256 megabytes
You are managing a fleet of **n** drones.
Each drone has an initial energy level:
[
a_1, a_2, \ldots, a_n
]
You are also given a positive integer **k**, which represents the **maximum number of drones allowed to share the same energy level**.
To prevent overloads, the drones automatically perform **energy balancing operations** as follows:
While there exists an energy value **x** such that the number of drones with energy **x** is **strictly more than k**, they do:
1. Every drone whose energy (a_i = x) appears **earlier** in the array
(i.e., there exists (j < i) with (a_j = x)) is **marked**.
(Only the *first* k occurrences of x remain unmarked.)
2. For each marked drone, its energy is **increased by 1**.
3. All marks are removed.
The process stops once no energy value appears more than k times.
Your task is to compute the **total number of balancing operations** performed.
---
# **Input**
Each test contains multiple test cases.
* First line: integer **t** (1 ≤ t ≤ 10⁴)
Each test case:
* A line containing integers **n**, **k**
(1 ≤ k ≤ n ≤ 2·10⁵)
* A line containing the n energy levels
(a_1, a_2, \ldots, a_n)
(1 ≤ (a_i) ≤ 2n)
The sum of all n over all test cases does not exceed 2·10⁵.
---
# **Output**
For each test case, output a single integer — the number of balancing operations performed.
---
# **Example**
**Input**
```
5
6 3
1 1 1 1 1 1
5 1
1 3 2 1 4
6 2
1 1 1 2 3 3
4 1
8 8 8 8
2 2
1 2
```
**Output**
```
3
4
4
3
0
```
---
# **Explanation (from PDF)**
### Test case 1
Initial energies:
```
[1, 1, 1, 1, 1, 1]
```
Operation 1:
```
[1, 2, 2, 2, 2, 2]
```
Operation 2:
```
[1, 2, 3, 3, 3, 3]
```
Operation 3:
```
[1, 2, 3, 4, 4, 4]
```
After 3 operations, every energy level appears at most k=3 times.
### Test case 2
Sequence:
```
[1,3,2,1,4] → [1,3,2,2,4] → [1,3,2,3,4] → [1,3,2,4,4] → [1,3,2,4,5]
```
Process stops after 4 operations.
If you want, I can convert **Problem F**, or help you solve any of these problems in **Go/C++/Python**.