C. 第3题-数值竞赛

第3题-数值竞赛

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目内容

你有一个初始数值 XX,以及另外一些数值。每次操作你可以选择:

  • XX 乘以 22
  • 选择一个其他数值,将其替换为 ext该数值/2\lfloor ext{该数值} / 2 \rfloor

请问至少需要多少次操作,才能使 XX 不小于所有其他数值?

数值总个数 nn 不超过 10510^5,所有数值均为不超过 10910^9 的正整数。

输入描述

第一行包含一个整数 nn。 第二行包含 nn 个整数,其中第一个整数为初始数值 XX,后面的 n1n-1 个整数为其他数值。

输出描述

输出一个整数,表示所需的最小操作次数。

样例1

输入

3
2 5 6

输出

2

说明

初始 X=2X = 2,其他数值为 56,均大于 XX。 有两个数大于 XX,优先将 XX 加倍:第一次操作 XX 变为 2imes2=42 imes 2 = 4。 此时 56 仍大于 44。再次加倍 XX4imes2=84 imes 2 = 8。 此时 858 \ge 5868 \ge 6,所有数均不大于 XX。共需 2 次操作。

样例2

输入

4
4 9 2 8

输出

2

说明

初始 X=4X = 4,其他数值排序后为 [2,8,9][2, 8, 9],其中 89 大于 44。 由于有两个数大于 XX,将 XX 加倍:4imes2=84 imes 2 = 8,消耗 1 次操作。此时 X=8X=8,等于 8,故 8 不再大于 XX。 剩余一个数 9 大于 XX,对 9 执行除以 2 下取整操作:9/2=4\lfloor 9 / 2 \rfloor = 4,消耗 1 次操作。4 不大于 X=8X=8,结束。 总共操作 2 次。

样例3

输入

2
3 20

输出

3

说明

初始 X=3X = 3,其他数值只有 20,大于 XX。 此时只有一个大于 XX 的数,直接对其进行除以 2 下取整操作:第 120/2=10\lfloor 20/2 \rfloor = 10;第 210/2=5\lfloor 10/2 \rfloor = 5;第 35/2=2\lfloor 5/2 \rfloor = 22 不大于 X=3X=3,结束。共需 3 次操作。

样例4

输入

2
10 5

输出

0

说明

初始 X=10X = 10,另一数值 5 已经不大于 XX,无需任何操作,输出 0

秋招模拟赛第37场|2023.09.02-美团

Not Attended
Status
Done
Rule
IOI
Problem
5
Start at
2023-9-4 19:00
End at
2023-9-4 21:00
Duration
2 hour(s)
Host
Partic.
42