Make Equal
题意翻译
给出 $ n $ 个数字 $ a_1 , a_2 , \ldots , a_n $ ,每次操作可以给其中一个数加上 $ 2 $ 的非负整数次幂。求最少的操作次数,使得这 $ n $ 个数相等。
题目描述
You are given $ n $ numbers $ a_1, a_2, \dots, a_n $ . In one operation we can add to any one of those numbers a nonnegative integer power of $ 2 $ .
What is the smallest number of operations we need to perform to make all $ n $ numbers equal? It can be proved that under given constraints it doesn't exceed $ 10^{18} $ .
输入输出格式
输入格式
The first line contains a single integer $ n $ ( $ 1 \le n \le 10^5 $ ).
The second line contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 0 \le a_i \le 10^{17} $ ).
输出格式
Output exactly one integer — the smallest number of operations we need to perform to make all $ n $ numbers equal.
输入输出样例
输入样例 #1
4
228 228 228 228
输出样例 #1
0
输入样例 #2
3
2 2 8
输出样例 #2
3
说明
In the first example, all numbers are already equal. So the needed number of operation is $ 0 $ .
In the second example, we can apply the operation $ 3 $ times: add $ 8 $ to first $ 2 $ , add $ 8 $ to second $ 2 $ , add $ 2 $ to $ 8 $ , making all numbers equal to $ 10 $ . It can be proved that we can't make all numbers equal in less than $ 3 $ operations.