#856. 除法相等

    ID: 856 传统题 文件IO:equalize 2000ms 512MiB 尝试: 11 已通过: 5 难度: 9 上传者: 标签>GESP考级真题GESP五级基础算法贪心排序

除法相等

读写要求

本题采用文件读写,请在提交代码时使用正确的文件名,否则会导致 RE

输入文件:equalize.in

输出文件:equalize.out

题目描述

给定一个由 nn 个整数组成的数组 aa。在一次操作中,你可以选择任意 aia_i 并将其除以 22 并向下取整(即令 ai:=ai/2a_i:=\lfloor a_i/2\rfloor)。

你可以对任意 aia_i 执行任意次(包括零次)这样的操作。

你的任务是计算使数组中至少出现 kk 个相等元素所需的最少操作次数。

注意经过一些操作后可能出现 ai=0a_i=0,因此答案总是存在的。

输入格式

第一行两个整数 n,kn,k1kn2×1051\le k\le n\le 2\times 10^5)。

第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n1ai2×1051\le a_i\le 2\times 10^5)。

输出格式

输出一个整数,表示最少操作次数。

5 3
1 2 2 4 5
1
5 3
1 2 3 4 5
2
5 3
1 2 3 3 3
0

数据范围

  • 1kn2×1051\le k\le n\le 2\times 10^5
  • 1ai2×1051\le a_i\le 2\times 10^5