#211. 守护神兽的修炼计划

守护神兽的修炼计划

题目描述

在一个神秘的修仙大陆中,有一群神兽正在进行力量比拼。你的主神兽是队伍中的第一只神兽,它的战斗力为 a0a_0。为了让它成为最强神兽,你可以通过以下两种方式提升或削弱队伍中的战斗力分布:

  1. 强化主神兽:将 a0a_0 的战斗力翻倍。
  2. 削弱其他神兽:选择一个神兽 ai(1i<n)a_i(1 \leq i < n),将其战斗力降低为 ai2\lfloor \frac{a_i}{2} \rfloor

你的目标是通过最少的操作,使得主神兽 a0a_0 的战斗力成为整个队伍中最强的。请你计算,至少需要多少次操作才能达成目标。

输入描述

  • 第一行包含一个整数 n(1n105)n(1 \leq n \leq 10^5),表示神兽队伍的数量。
  • 第二行包含 nn 个正整数 a0,a1,,an1(1ai109)a_0, a_1, \dots, a_{n-1}(1 \leq a_i \leq 10^9),分别表示每只神兽的初始战斗力。

输出描述

输出一个整数,表示让主神兽 a0a_0 成为战斗力最强的最少操作次数。

样例

6 
1 1 4 4 1 4
2

样例说明

初始战斗力为 [1, 1, 4, 4, 1, 4]。 通过以下两次操作,主神兽 a0a_0 的战斗力从 11 成为 44,并且成为最强神兽:

  1. a0a_0 的战斗力翻倍:[2, 1, 4, 4, 1, 4]
  2. 再次翻倍:[4, 1, 4, 4, 1, 4]

此时 a0a_0 与其他神兽战斗力持平,因此输出 22