B. 橘子茶 每次测试的时间限制 1秒 每次测试的内存限制 256 兆字节 输入 标准输入 输出 标准输出 有n块陈皮,其中i-th 的大小为a_i。在一个步骤中,可以将一块大小x分成两块正整数大小y和z,使得y + z = x。
您希望每对零件的尺寸差异严格小于两倍。换句话说,不应该有两块大小为x和y,如2x<=y。满足条件所需的最少步数是多少?
输入 输入的第一行包含一个整数t(1<=t<=100) — 测试用例的数量。测试用例的描述如下。
每个测试用例的第一行包含整数n(1<=n<=100)。
然后一行,包含n整数a_1<=a_2<=...<=a_n(1<=a_i<=10^7)。
输出 对于每个测试用例,输出包含最少步数的单行。
输入:
笔记 在第一个测试用例中,我们最初有一块尺寸为 1,因此所有最终的碎片必须尺寸为1。总步数为0 + 1 + 2 + 3 + 4 = 10。 在第二个测试用例中,我们只有一块,所以我们不需要做任何事情,答案是0步骤。
在第三个测试用例中,可能的切割选项之一是:600,\900,(600 | 700),(1000 | 1000),(1000 | 1000 | 550)。您可以在下图中看到此选项。最大一块尺寸为1000,它比最小尺寸550 大不到2倍。4 步骤已完成。我们可以证明这是可能的最小步数。