CF1188D Make Equal
题目描述
给定 $n$ 个数 $a_1, a_2, \dots, a_n$。每次操作,你可以选择其中任意一个数,加上一个非负整数的 $2$ 的幂。
你需要进行最少多少次操作,才能使所有 $n$ 个数都相等?可以证明,在给定的约束下,所需操作次数不会超过 $10^{18}$。
输入格式
第一行包含一个整数 $n$($1 \le n \le 10^5$)。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i \le 10^{17}$)。
输出格式
输出一个整数,表示使所有 $n$ 个数相等所需的最小操作次数。
说明/提示
在第一个样例中,所有数已经相等,因此所需操作次数为 $0$。
在第二个样例中,可以进行 $3$ 次操作:对第一个 $2$ 加上 $8$,对第二个 $2$ 加上 $8$,对 $8$ 加上 $2$,使所有数都变为 $10$。可以证明,无法用少于 $3$ 次操作使所有数相等。
由 ChatGPT 4.1 翻译