CF558C Amr and Chemistry
题目描述
Amr 喜欢化学,尤其喜欢做实验。他正在为一个有趣的新实验做准备。
Amr 有 $n$ 种不同类型的化学品。每种化学品 $i$ 的初始体积为 $a_{i}$ 升。为了这个实验,Amr 必须将所有化学品混合在一起,但所有化学品的体积必须首先相等。因此,他的任务是让所有化学品的体积相等。
为此,Amr 可以进行两种不同的操作:
- 选择某种化学品 $i$,将其当前体积加倍,即新体积为 $2a_{i}$。
- 选择某种化学品 $i$,将其体积除以 $2$(整数除法),即新体积为 $\left\lfloor a_{i}/2 \right\rfloor$。
假设每种化学品都装在体积无限的容器中。现在 Amr 想知道,使所有化学品体积相等所需的最少操作次数是多少?
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 10^{5}$),表示化学品的种类数。
第二行包含 $n$ 个用空格分隔的整数 $a_{i}$($1 \leq a_{i} \leq 10^{5}$),表示第 $i$ 种化学品的初始体积(升)。
输出格式
输出一个整数,表示使所有化学品体积相等所需的最少操作次数。
说明/提示
在第一个样例测试中,最佳方案是将第二种化学品的体积除以二,将第三种化学品的体积乘以二,使所有体积都变为 $4$。
在第二个样例测试中,最佳方案是将第一种化学品体积除以二,将第二和第三种化学品体积各除以二两次,使所有体积都变为 $1$。
由 ChatGPT 5 翻译