编程题
### 问题描述 给定一个长度为 $n$ 的数组 $a$ ,每次操作你可以将其中一个数 $a_i$ 变为 $\lfloor \frac{a_i}{2} \rfloor$ (向下取整),你可以执行零次或任意次操作,使得 $a$ 中至少有 $k$ 个数相等,求实现目标所需的最小操作次数。 ### 输入格式 第一行输入两个整数 $n$ 和 $k$ 。 第二行输入 $n$ 个整数 $a_i$,用空格隔开。 数据范围保证 $1 \leq k \leq n \leq 2 \times 10^5$, $1 \leq a_i \leq 2 \times 10^5$。 ### 输出格式 输出一个整数,表示实现目标的最小操作次数。 ### 样例输入 ``` 5 2 1 2 3 4 5 ``` ### 样例输出 ``` 1 ``` ### 说明 将 $2$ 变为 $1$ 后,数组中存在了两个相同元素,所以答案为 $1$ 。
查看答案
赣ICP备20007335号-2