P12160 [蓝桥杯 2025 省 Java B] 2 的幂

题目描述

小明很喜欢 $2$ 的幂,所以他想对一个长度为 $n$ 的正整数数组 $\{a_1, a_2, \dots, a_n\}$ 进行改造。他可以进行如下操作任意多次(可以是 $0$ 次):任选一个数 $a_i$ 加上任意正整数,但不能使得加完之后的结果超过 $10^5$。 在操作任意次后,小明希望所有数的乘积是 $2^k$ 的倍数。他想知道总共需要加的数的总和至少是多少?

输入格式

输入共两行。 - 第一行为两个正整数 $n, k$。 - 第二行为 $n$ 个由空格分开的正整数 $a_1, a_2, \dots, a_n$。

输出格式

输出共 $1$ 行,一个整数表示答案。如果不能满足条件,输出 $-1$。

说明/提示

### 样例说明 将三个数分别加到 $24, 16, 4$,它们的乘积为 $1536 = 2^9 \times 3$,加的数的总和为 $5 + 6 + 1 = 12$。 ### 评测用例规模与约定 - 对于 $20\%$ 的评测用例,$n, k \leq 10$。 - 对于 $100\%$ 的评测用例,$1\leq n \leq 500$,$1\leq k \leq 5000$,$1\leq a_i \leq 100000$。