CF2255D How Long Until Nothing Remains?
题目描述
在她最后一次出击前,Chtholly 问 Willem 三个问题。
第一个问题是:如果结局不可避免,直到什么都不剩下需要多长时间?
Willem 无法直接回答她。于是,他写下了 $n$ 个正整数 $a_1,a_2,\ldots,a_n$。
每次操作耗时一秒。在一次操作中,Willem 做如下事情:
- 选择一个下标 $p$($1\le p\le n$);
- 然后,将 $a_p$ 替换为 $\left\lfloor\dfrac{a_p}{2}\right\rfloor$,对于每个 $i\ne p$,将 $a_i$ 替换为 $\left\lceil\dfrac{a_i}{2}\right\rceil$。所有替换同步进行。
请计算,使得所有 $n$ 个整数都等于 $0$ 所需的最少秒数。
输入格式
每个测试点包含多个测试用例。第一行包含测试用例数 $t$($1 \le t \le 10^4$)。接下来的每个测试用例描述如下:
每个测试用例的第一行包含一个整数 $n$($1\le n\le2\cdot10^5$),表示整数的个数。
第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$($1\le a_i\le10^9$),表示初始整数。
保证所有测试用例中 $n$ 的总和不超过 $2\cdot10^5$。
输出格式
对于每个测试用例,输出一个整数,表示使所有整数都变为 $0$ 所需的最少秒数。
说明/提示
在第一个测试用例中,唯一的整数变化为 $3\to1\to0$,因此答案为 $2$。
在第二个测试用例中,等于 $1$ 的整数只有在它被选中时才能变成 $0$。因此,至少需要 $3$ 秒,同时分别选择每个下标即可。
在第三个测试用例中,最优的操作序列是:
1. 选择 $p=1$:$[1,2,4]\to[0,1,2]$;
2. 选择 $p=2$:$[0,1,2]\to[0,0,1]$;
3. 选择 $p=3$:$[0,0,1]\to[0,0,0]$。
在第四个测试用例中,最优序列为 $[5,2]\to[2,1]\to[1,0]\to[0,0]$,选择的下标依次为 $1$、$2$、$1$。
由 ChatGPT 5 翻译