B. 折半功率对齐

折半功率对齐

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.

题目内容

地面光伏电站有 nn 个子阵,第 ii 个当前出力为 aia_i。一次调节可以选择一个出力仍为正的子阵,把它的出力替换成该数除以 2 后向下取整的结果。调度希望所有子阵出力完全相等,以便并网。

请计算最少多少次调节后,这 nn 个出力全部相等。

约束:1n1051 \le n \le 10^51ai10000000001 \le a_i \le 1000000000

输入描述

第一行包含一个正整数 nn,表示子阵个数,满足 1n1051 \le n \le 10^5

第二行包含 nn 个正整数 a1,a2,,ana_1, a_2, \ldots, a_n,满足 1ai10000000001 \le a_i \le 1000000000

输出描述

输出一个整数,表示使所有数相等的最少操作次数。

样例1

输入

3
7 8 9

输出

8

说明

每次对当前最大值执行一次折半,并用堆维护最大值,直到最大值与最小值相等。

该组数据最少需要 8 次操作。

样例2

输入

2
5 5

输出

0

说明

两个数已经相等,无需操作。

样例3

输入

5
16 8 4 2 1

输出

10

说明

最终所有数都会被折半到 1。对较大的数需要多次除 2,总次数为 10

样例4

输入

4
10 10 9 3

输出

10

说明

最小值会在过程中继续下降,需要继续折半较大值去追齐,最少操作次数为 10

秋招模拟赛第29场|携程实习|2023.05.25

Not Attended
Status
Done
Rule
IOI
Problem
3
Start at
2023-6-19 19:00
End at
2023-6-19 20:30
Duration
1.5 hour(s)
Host
Partic.
11