#ABC249G. 异或卡片
异或卡片
异或卡片
题目描述
有 张卡片,编号为 。第 张卡片 的正面写着整数 ,背面写着整数 。
考虑选择一张或多张卡片,使得所选卡片正面所写整数的异或和至多为 。求所选卡片背面所写整数的异或和的最大可能值。
什么是异或和?
两个整数 和 的异或 定义如下。
在 的二进制表示中, 位()上的值为 ,当且仅当 和 的二进制表示中 位上的值恰好有一个为 ;否则为 。
例如,(二进制表示:)。
一般地, 个整数 的异或和定义为 $(\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k)$。可以证明它与 的顺序无关。
输入格式
输入按以下格式从标准输入给出:
N K
A_1 B_1
⋮
A_N B_N
输出格式
在「选择一张或多张卡片,使得所选卡片正面整数的异或和至多为 」的前提下,输出所选卡片背面整数的异或和的最大可能值。若不存在满足条件的选法,则输出 。
样例
4 2
1 1
3 2
2 2
0 1
3
选择卡片 和 时,正面整数的异或和为 ,背面整数的异或和为 ,这是最大值。
1 2
3 4
-1
不存在满足条件的选法。
10 326872757
487274679 568989827
267359104 968688210
669234369 189421955
1044049637 253386228
202278801 233212012
436646715 769734012
478066962 376960084
491389944 1033137442
214977048 1051768288
803550682 1053605300
1064164329
数据范围
- 输入中的所有值都是整数。
难度
省选/NOI-
通过率
—
尝试
0
已通过
0
- ID
- 2439
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者