CF1661C Water the Trees
Description
There are $ n $ trees in a park, numbered from $ 1 $ to $ n $ . The initial height of the $ i $ -th tree is $ h_i $ .
You want to water these trees, so they all grow to the same height.
The watering process goes as follows. You start watering trees at day $ 1 $ . During the $ j $ -th day you can:
- Choose a tree and water it. If the day is odd (e.g. $ 1, 3, 5, 7, \dots $ ), then the height of the tree increases by $ 1 $ . If the day is even (e.g. $ 2, 4, 6, 8, \dots $ ), then the height of the tree increases by $ 2 $ .
- Or skip a day without watering any tree.
Note that you can't water more than one tree in a day.
Your task is to determine the minimum number of days required to water the trees so they grow to the same height.
You have to answer $ t $ independent test cases.
Input Format
The first line of the input contains one integer $ t $ ( $ 1 \le t \le 2 \cdot 10^4 $ ) — the number of test cases.
The first line of the test case contains one integer $ n $ ( $ 1 \le n \le 3 \cdot 10^5 $ ) — the number of trees.
The second line of the test case contains $ n $ integers $ h_1, h_2, \ldots, h_n $ ( $ 1 \le h_i \le 10^9 $ ), where $ h_i $ is the height of the $ i $ -th tree.
It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 3 \cdot 10^5 $ ( $ \sum n \le 3 \cdot 10^5 $ ).
Output Format
For each test case, print one integer — the minimum number of days required to water the trees, so they grow to the same height.
Explanation/Hint
Consider the first test case of the example. The initial state of the trees is $ [1, 2, 4] $ .
1. During the first day, let's water the first tree, so the sequence of heights becomes $ [2, 2, 4] $ ;
2. during the second day, let's water the second tree, so the sequence of heights becomes $ [2, 4, 4] $ ;
3. let's skip the third day;
4. during the fourth day, let's water the first tree, so the sequence of heights becomes $ [4, 4, 4] $ .
Thus, the answer is $ 4 $ .