C. 第3题-数值竞赛
第3题-数值竞赛
秋招模拟赛第37场|2023.09.02-美团
- 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
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.
记大于 a0 的数有 x 个
如果 x>1 ,则让 a0 乘 2 。
令 b 为大于 a0 的数构成的数组,cnti 为 bi 降到小于等于 a0 的次数。
假设每个数都 bi 都满足 a0+1≤bi≤2a0
你有一个初始数值 X,以及另外一些数值。每次操作你可以选择:
请问至少需要多少次操作,才能使 X 不小于所有其他数值?
数值总个数 n 不超过 105,所有数值均为不超过 109 的正整数。
第一行包含一个整数 n。 第二行包含 n 个整数,其中第一个整数为初始数值 X,后面的 n−1 个整数为其他数值。
输出一个整数,表示所需的最小操作次数。
输入
3
2 5 6
输出
2
说明
初始 X=2,其他数值为 5 和 6,均大于 X。
有两个数大于 X,优先将 X 加倍:第一次操作 X 变为 2imes2=4。
此时 5 和 6 仍大于 4。再次加倍 X:4imes2=8。
此时 8≥5 且 8≥6,所有数均不大于 X。共需 2 次操作。
输入
4
4 9 2 8
输出
2
说明
初始 X=4,其他数值排序后为 [2,8,9],其中 8 和 9 大于 4。
由于有两个数大于 X,将 X 加倍:4imes2=8,消耗 1 次操作。此时 X=8,等于 8,故 8 不再大于 X。
剩余一个数 9 大于 X,对 9 执行除以 2 下取整操作:⌊9/2⌋=4,消耗 1 次操作。4 不大于 X=8,结束。
总共操作 2 次。
输入
2
3 20
输出
3
说明
初始 X=3,其他数值只有 20,大于 X。
此时只有一个大于 X 的数,直接对其进行除以 2 下取整操作:第 1 次 ⌊20/2⌋=10;第 2 次 ⌊10/2⌋=5;第 3 次 ⌊5/2⌋=2。
2 不大于 X=3,结束。共需 3 次操作。
输入
2
10 5
输出
0
说明
初始 X=10,另一数值 5 已经不大于 X,无需任何操作,输出 0。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册