atcoder#ABC249G. [ABC249G] Xor Cards

[ABC249G] Xor Cards

题目描述

N N 枚のカードがあり、1, , N 1,\ \dots,\ N の番号が付けられています。カード i  (1  i  N) i\ \,\ (1\ \leq\ i\ \leq\ N) の表には整数 Ai A_i 、裏には整数 Bi B_i が書かれています。

選んだカードの表に書かれた整数の排他的論理和が K K 以下となるように 1 1 枚以上の好きな枚数のカードを選ぶとき、選んだカードの裏に書かれた整数の排他的論理和としてあり得る最大値を求めてください。

排他的論理和とは 整数 a, b a,\ b の排他的論理和 a  b a\ \oplus\ b は、以下のように定義されます。 - a  b a\ \oplus\ b を二進表記した際の 2k  (k  0) 2^k\ \,\ (k\ \geq\ 0) の位の数は、a, b a,\ b を二進表記した際の 2k 2^k の位の数のうち一方のみが 1 1 であれば 1 1 、そうでなければ 0 0 である。

例えば、3  5 = 6 3\ \oplus\ 5\ =\ 6 となります(二進表記すると 011  101 = 110 011\ \oplus\ 101\ =\ 110 )。
一般に k k 個の整数 p1, , pk p_1,\ \dots,\ p_k の排他的論理和は $ (\cdots\ ((p_1\ \oplus\ p_2)\ \oplus\ p_3)\ \oplus\ \cdots\ \oplus\ p_k) $ と定義され、これは p1, , pk p_1,\ \dots,\ p_k の順番によらないことが証明できます。

输入格式

入力は以下の形式で標準入力から与えられる。

N N K K A1 A_1 B1 B_1 \vdots AN A_N BN B_N

输出格式

問題文中の条件を満たすようにカードを選ぶとき、選んだカードの裏に書かれた整数の排他的論理和としてあり得る最大値を出力せよ。ただし、条件を満たすようにカードを選ぶことができないときは 1 -1 と出力せよ。

题目大意

给定 nn 个二元组 (xi,yi)(x_i,y_i) 构成的可重集 SS,你需要选择 SS 的一个可重子集 TT,满足 (x,y)Tx\bigoplus \limits_{(x,y)\in T}x 不大于 kk

你需要最大化 (x,y)Ty\bigoplus\limits_{(x,y)\in T} y。若无解,输出 1-1

n1000,0xi,yi,k<230n\le 1000, 0\le x_i,y_i,k < 2^{30}

translate by

/user/574568

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

提示

制約

  • 1  N  1000 1\ \leq\ N\ \leq\ 1000
  • 0  K < 230 0\ \leq\ K\ \lt\ 2^{30}
  • $ 0\ \leq\ A_i,\ B_i\ \lt\ 2^{30}\ \,\ (1\ \leq\ i\ \leq\ N) $
  • 入力は全て整数

Sample Explanation 1

カード 1, 2 1,\ 2 を選ぶことで、表に書かれた整数の排他的論理和は 2 2 、裏に書かれた整数の排他的論理和は 3 3 となり、これが最大です。

Sample Explanation 2

条件を満たすようにカードを選ぶことはできません。