Codeforces Round 606 (Div. 2, based on Technocup 2020 Elimination Round 4)
B
Make Them Odd
Codeforces
1200
原题
← AC →
翻译中…

There are $n$ positive integers $a_1, a_2, \dots, a_n$. For the one move you can choose any even value $c$ and divide by two all elements that equal $c$.

翻译中…

For example, if $a=[6,8,12,6,3,12]$ and you choose $c=6$, and $a$ is transformed into $a=[3,8,12,3,3,12]$ after the move.

翻译中…

You need to find the minimal number of moves for transforming $a$ to an array of only odd integers (each element shouldn't be divisible by $2$).

翻译中…

Input

翻译中…

The first line of the input contains one integer $t$ ($1 \le t \le 10^4$) — the number of test cases in the input. Then $t$ test cases follow.

翻译中…

The first line of a test case contains $n$ ($1 \le n \le 2\cdot10^5$) — the number of integers in the sequence $a$. The second line contains positive integers $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$).

翻译中…

The sum of $n$ for all test cases in the input doesn't exceed $2\cdot10^5$.

翻译中…

Output

翻译中…

For $t$ test cases print the answers in the order of test cases in the input. The answer for the test case is the minimal number of moves needed to make all numbers in the test case odd (i.e. not divisible by $2$).

翻译中…

Note

翻译中…

In the first test case of the example, the optimal sequence of moves can be as follows:

翻译中…
  • before making moves $a=[40, 6, 40, 3, 20, 1]$;
  • choose $c=6$;
  • now $a=[40, 3, 40, 3, 20, 1]$;
  • choose $c=40$;
  • now $a=[20, 3, 20, 3, 20, 1]$;
  • choose $c=20$;
  • now $a=[10, 3, 10, 3, 10, 1]$;
  • choose $c=10$;
  • now $a=[5, 3, 5, 3, 5, 1]$ — all numbers are odd.
翻译中…

Thus, all numbers became odd after $4$ moves. In $3$ or fewer moves, you cannot make them all odd.

翻译中…

样例

Input #1
4
6
40 6 40 3 20 1
1
1024
4
2 4 8 16
3
3 1 7
Output #1
4
10
4
0
InputCopy OutputCopy
题目信息
题号
1277B
时间限制
3 s
内存限制
256 MB
标签
贪心
数论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。