#aBC249G. [ABC249G] Xor Cards
[ABC249G] Xor Cards
AT_abc249_g [ABC249G] Xor Cards
题目描述
有 张卡片,编号为 。第 张卡片的正面写有整数 ,背面写有整数 。
你可以选择任意数量(至少一张)的卡片,使得所选卡片正面上的整数的异或和不超过 。请你求出在满足条件的情况下,所选卡片背面上的整数的异或和的最大可能值。
异或和的定义如下:对于整数 ,它们的异或和 定义为:将 用二进制表示后,每一位上只有一方为 时该位为 ,否则为 。
例如,(二进制为 )。 一般地, 个整数 的异或和定义为 $((\cdots((p_1 \oplus p_2) \oplus p_3)\oplus\cdots)\oplus p_k)$,并且可以证明其结果与顺序无关。
输入格式
输入通过标准输入给出,格式如下:
输出格式
请输出满足条件的卡片选择方案中,所选卡片背面上的整数的异或和的最大值。如果无法满足条件,则输出 。
输入输出样例 #1
输入 #1
4 2
1 1
3 2
2 2
0 1
输出 #1
3
输入输出样例 #2
输入 #2
1 2
3 4
输出 #2
-1
输入输出样例 #3
输入 #3
10 326872757
487274679 568989827
267359104 968688210
669234369 189421955
1044049637 253386228
202278801 233212012
436646715 769734012
478066962 376960084
491389944 1033137442
214977048 1051768288
803550682 1053605300
输出 #3
1064164329
说明/提示
限制条件
- 输入均为整数
样例解释 1
选择卡片 ,正面整数的异或和为 ,背面整数的异或和为 ,这是最大值。
样例解释 2
无法选择满足条件的卡片。
由 ChatGPT 4.1 翻译