#P1301. 调频
调频
调频
题目描述
在你优化完公司的“宝贝”代码之后,CEIT的服务器资源利用效率得到了极大的提升,这让Orange十分高兴,因为他可以用更多的资源来计算他课题的重要方程了!这也让Orange有了想把你招为助手(
黑奴)的打算...
波是用来传输信息的重要方式,而一般用来传输信息的波,需要发射端和接收端两者的频率相同。Orange正在尝试一个跨越维度传递信息的课题,而波正是他研究的关键,因此他想用这个问题来作为你面试的一题。
现在空间中存在 个频率 ,并且Orange有一种特殊的调频方式,能够将选定的一个频率 调制成 ,即 。要实现跨越维度的信息传输,至少需要空间中存在两个相同的频率。由于使用调频的过程十分复杂,Orange想让你计算出,若要满足空间中存在两个相同的频率,最少需要进行多少次调频?如果无论如何也无法得到两个相同的频率,请输出-1。
:表示位运算按位与,按位与是一种二进制运算,它从低到高比较两个数的每一个二进制位(不足则用前导0补齐),只有当两个位都是1时,结果位才为1,否则为0。例如: $7 \ \mathrm{and} \ 3 = (111)_2 \ \mathrm{and} \ (011)_2 = (011)_2 = 3。$
输入格式
输入包含多组测试数据,第一行为一个整数 ,表示测试数据数量。 对于每组测试数据: 第一行包含两个整数 ,表示频率数量和调频参数。 第二行包含 个整数,表示每个频率的具体数值。
数据范围
输出格式
对于每组测试数据,输入一行,包含一个整数表示答案。
样例 #1
样例输入 #1
3
4 3
1 2 3 7
2 228
1 1
3 7
1 2 3
样例输出 #1
1
0
-1
提示
对于第一组测试数据,可以对频率 进行调制,调制之后变为 ,此时出现两个相同的频率 ,因此答案为1。
对于第二组测试数据,本身存在两个相同的频率,因此无需调整。
对于第三组测试数据,可以证明无论如何调整,都无法使得其中出现两个相同的频率。