#Y0008. SIMO的密文破解

SIMO的密文破解

SIMO的密文破解

SIMO有获得了一个包含 nn 个数字的密文,SIMO手中有一个解密的关键数字 mm ,现在你需要对这个密文解密,解密的方式是取 mm 个数,使得这 mm 个二进制中的 11 个数最少,11 的个数就是解密后的密码。

本体题意可以理解为给定 nn 个整数 a1,a2...ana_1,a_2...a_n ,对于整数 uu ,它在二进制下的表示为 k1k2...kxk_1k_2...k_x , 那么它的权值为 f(u)=k1+k2+...kxf(u)=k_1+k_2+...k_x ,现在我们需要从这 nn 个数中选出 mm 个数,使得他们的权值总和尽可能小。求选 mm 个数最小的权值总和。

输入

第一行两个正整数 n,mn,m 分别为整数总个数和要选出的整数个数 (1n2105,1mn1 \le n \le 2\cdot 10^5,1\le m \le n) 第二行 nn 个正整数,aia_i 表示第 ii 个数 (0ai1090 \le a_i \le 10^9

输出

输出一个正整数,表示选 mm 个数最小的权值总和

样例

输入样例1

8 5
1 2 3 4 5 6 7 8

输出样例1

6

注意

对于样例11 ,我们选择 1,2,3,4,81,2,3,4,855 个数,选出来后每个数对应的二进制为 0001,0010,0011,0100,10000001,0010,0011,0100,1000 ,因此他们的权值分别为 1,1,2,1,11,1,2,1,1,算的总和为 66 ,可以证明这是一种最小的选法。