CF2231C Chipmunk Theo and Equality
题目描述
在互联网的深处探索时,松鼠西奥多发现了一个非常有趣的正整数序列,并决定用它做一点游戏。
在一次操作中,他可以选择序列中的一个元素,并执行以下操作之一:
- 如果选择的元素是偶数,则将它除以 $2$;
- 如果选择的元素是奇数,则将它加 $1$。
西奥多非常热爱平等,所以他希望将序列中的所有数字都变得相等(否则,一些数字可能会感到被冒犯)。由于他需要安排午餐时间,请你帮他计算使所有数字相等所需的最少操作次数。
输入格式
每个测试包含多个测试用例。第一行为测试用例个数 $t$,其中 $1 \le t \le 10^4$。接下来的每组测试用例描述如下:
每组测试用例的第一行包含一个整数 $n$($1 \le n \le 10^5$),表示序列的长度。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$),表示序列中的元素。
保证所有测试用例中的 $n$ 之和不超过 $10^5$。
输出格式
对于每个测试用例,输出一个整数,表示西奥多将所有数字变成相等所需的最少操作次数。
说明/提示
在第一个测试用例中,序列为 $[3, 2, 4]$。
一种可行的操作序列如下:
$$
[\textbf{3}, 2, 4] \rightarrow [\textbf{4}, 2, 4] \rightarrow [2, 2, \textbf{4}] \rightarrow [2, 2, 2]
$$
(加粗的是正在操作的数字。)
在第二个测试用例中,序列为 $[3, 6, 7, 16, 8, 8, 7]$。
操作过程如下:
- 对第一个元素操作一次:$3 \rightarrow 4$
- 对第二个元素操作两次:$6 \rightarrow 3 \rightarrow 4$
- 对第四个元素操作两次:$7 \rightarrow 8 \rightarrow 4$
- 对第五个元素操作两次:$16 \rightarrow 8 \rightarrow 4$
- 对第六个元素操作一次:$8 \rightarrow 4$
- 对第七个元素操作一次:$8 \rightarrow 4$
- 对第八个元素操作两次:$7 \rightarrow 8 \rightarrow 4$
经过上述 $11$ 次操作,所有元素都变成了 $4$。
由 ChatGPT 5 翻译