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 翻译