题目描述
小明很喜欢 2 的幂,所以他想对一个长度为 n 的正整数数组 {a1,a2,…,an} 进行改造。他可以进行如下操作任意多次(可以是 0 次):任选一个数 ai 加上任意正整数,但不能使得加完之后的结果超过 105。
在操作任意次后,小明希望所有数的乘积是 2k 的倍数。他想知道总共需要加的数的总和至少是多少?
输入格式
输入共两行。
第一行为两个正整数 n,k。
第二行为 n 个由空格分开的正整数 a1,a2,…,an。
输出格式
输出共 1 行,一个整数表示答案。如果不能满足条件,输出 −1。
样例
3 9
19 10 3
12
解释 #1
将三个数分别加到 24,16,4,它们的乘积为 1536=29×3,加的数的总和为 5+6+1=12。
数据范围
- 对于 20% 的评测用例,n,k≤10。
- 对于 100% 的评测用例,1≤n≤500,1≤k≤5000,1≤ai≤100000。