编程题
### 问题描述 小然在一次冒险中,发现了一种由 $2N$ 个整数组成的神秘阵列。小然发现,他可以进行以下两种操作: 1. 选择阵列中的一个偶数,并将它除以 $2$。 2. 选择阵列中的一个整数,并将它乘以 $2$。 现在,小然想要使阵列中的奇数数量和偶数数量相等。你能帮助他找到实现这个目标所需的最小操作次数吗? ### 输入格式 输入的第一行包含一个整数 $T$,表示测试用例的数量。 每个测试用例包含两行。第一行包含一个整数 $N$,表示阵列的长度的一半。第二行包含 $2N$ 个空格分隔的整数 $A_1, A_2, ..., A_{2N}$,表示阵列。 ### 输出格式 对于每个测试用例,输出一行,包含一个整数,表示实现目标所需的最小操作次数。 ### 样例输入 ```text 3 3 1 2 3 4 5 6 3 1 3 4 8 2 6 3 1 5 3 5 6 7 ``` ### 样例输出 ```text 0 1 2 ``` ### 说明 在第一个测试用例中,阵列中已经有相等数量的奇数和偶数,所以不需要进行任何操作。 在第二个测试用例中,我们可以将第五个数字除以 $2$,这样,阵列中的奇数数量和偶数数量就相等了,所以只需要进行一次操作。 在第三个测试用例中,我们可以先将第四个数字乘以 $2$,然后将第六个数字乘以 $2$,这样,阵列中的奇数数量和偶数数量就相等了,所以总共需要进行两次操作。 ### 评测数据范围 $1 \leq T \leq 10^3$。 $1 \leq N \leq 10^5$,$1 \leq A_i \leq 10^9$。 所有测试用例中,$N$ 的总和不超过 $10^5$。
查看答案
赣ICP备20007335号-2