问题描述 |
---|
先定义两个方法: 1、f(x, n) => 把 x 乘 2,执行 n 次。 2、g(x, n) => 把 x 除以 2(向下取整),执行 n 次。 现给出 m 个数字,你需要恰当地对每个数字使用一个方法使它们全部相等。 求这 m 个方法的 n 之和的最小值。 |
输入描述 |
只有一组案例,先是一个正整数 m 表示数字的数量。(1 <= m <= 20000) 然后是 m 个不大于 1e9 的正整数。 |
输出描述 |
这 m 个方法的 n 之和的最小值,然后换行。 |
样例输入复制样例 |
3 1 4 9 |
样例输出 |
3 |
提示说明 |
f(1, 2) = f(4, 0) = g(9, 1) = 4 这 3 个方法的 n 之和的最小值为:2 + 0 + 1 = 3。 当然不止一种方法可以使它们相等,例如: f(1, 0) = g(4, 2) = g(9, 3) = 1 此时这 3 个方法的 n 之和为:0 + 2 + 3 = 5,显然不是最小的。 |
相关 |