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 翻译