#A. 魔法水晶的调整

    传统题 1000ms 256MiB

魔法水晶的调整

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

在一个古老的魔法世界中,炼金术士们正在尝试调整手中的 魔法水晶,以便解锁其中隐藏的力量。他们拥有一个由 nn 块魔法水晶组成的集合,每块水晶的初始能量值是 a1,a2,...,ana_1, a_2, ..., a_n。此外,他们还发现了一种 神秘能量,其值为 xx,可以用来调整水晶的能量。

炼金术士的目标是使得集合中至少有两块水晶的能量值相等。每次操作,他们可以选择任意一块水晶,并将其能量值与神秘能量 xx 进行 位与操作(Bitwise AND),即将水晶的能量值 aia_i 替换为 ai&xa_i \& x

炼金术士们想知道:

  • 是否可能通过若干次操作实现目标?
  • 如果可能,至少需要几次操作?

输入格式

第一行包含两个正整数 nnxx,分别表示魔法水晶的数量和神秘能量的值(2n1000002 \leq n \leq 1000001x1000001 \leq x \leq 100000)。

第二行包含 nn 个正整数 a1,a2,...,ana_1, a_2, ..., a_n,表示每块水晶的初始能量值(1ai1000001 \leq a_i \leq 100000)。

输出格式

输出一个整数,表示实现目标所需的最少操作次数。如果无法实现目标,输出 1-1

样例

4 3
1 2 3 7
1
2 228
1 1
0
3 7
1 2 3
-1

说明

  • 样例 1 中,炼金术士可以对数组的最后一个元素(7)应用一次操作:7&3=37 \& 3 = 3 这样数组变为 [1,2,3,3][1, 2, 3, 3],其中有两块水晶能量值相等(3),因此只需一次操作。
  • 样例 2 中,初始数组已经满足条件(1=11 = 1),因此无需任何操作,答案是 00
  • 样例 3 中,无论对哪个元素应用多少次操作,能量值始终不会有重复。因此输出 1-1

2024/12/17 每日赏金题【Div. 2】

未认领
状态
已结束
题目
1
开始时间
2024-12-16 21:00
截止时间
2024-12-17 23:59
可延期
0 小时