#A. 魔法水晶的调整
魔法水晶的调整
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
在一个古老的魔法世界中,炼金术士们正在尝试调整手中的 魔法水晶,以便解锁其中隐藏的力量。他们拥有一个由 块魔法水晶组成的集合,每块水晶的初始能量值是 。此外,他们还发现了一种 神秘能量,其值为 ,可以用来调整水晶的能量。
炼金术士的目标是使得集合中至少有两块水晶的能量值相等。每次操作,他们可以选择任意一块水晶,并将其能量值与神秘能量 进行 位与操作(Bitwise AND),即将水晶的能量值 替换为 。
炼金术士们想知道:
- 是否可能通过若干次操作实现目标?
- 如果可能,至少需要几次操作?
输入格式
第一行包含两个正整数 和 ,分别表示魔法水晶的数量和神秘能量的值(,)。
第二行包含 个正整数 ,表示每块水晶的初始能量值()。
输出格式
输出一个整数,表示实现目标所需的最少操作次数。如果无法实现目标,输出 。
样例
4 3
1 2 3 7
1
2 228
1 1
0
3 7
1 2 3
-1
说明
- 在 样例 1 中,炼金术士可以对数组的最后一个元素(7)应用一次操作: 这样数组变为 ,其中有两块水晶能量值相等(3),因此只需一次操作。
- 在 样例 2 中,初始数组已经满足条件(),因此无需任何操作,答案是 。
- 在 样例 3 中,无论对哪个元素应用多少次操作,能量值始终不会有重复。因此输出 。