atcoder#ABC252H. [ABC252Ex] K-th beautiful Necklace

[ABC252Ex] K-th beautiful Necklace

配点 : 600600

問題文

NN 個の宝石があります。ii 番目の宝石は色が DiD_i で美しさが ViV_i です。 ここで、色は 1,2,,C1,2,\ldots,C のいずれかであり、どの色の宝石も少なくとも 11 個存在します。

NN 個の宝石から、色が相異なる CC 個の宝石を選んでネックレスを作ります。(選ぶ順番は考えません。) ネックレスの美しさは選んだ宝石の美しさのビットごとの XOR\rm XOR となります。

全てのありえるネックレスの作り方のうち、美しさが KK 番目に大きいもののネックレスの美しさを求めてください。(同じ美しさの作り方が複数存在する場合、それらは全て数えます。)

ビットごとの $\rm XOR$ とは

整数 A,BA, B のビットごとの XOR\rm XORA XOR BA\ {\rm XOR}\ B は、以下のように定義されます。

  • A XOR BA\ {\rm XOR}\ B を二進表記した際の 2k2^k (k0k \geq 0) の位の数は、A,BA, B を二進表記した際の 2k2^k の位の数のうち一方のみが 11 であれば 11、そうでなければ 00 である。

例えば、3 XOR 5=63\ {\rm XOR}\ 5 = 6 となります (二進表記すると: 011 XOR 101=110011\ {\rm XOR}\ 101 = 110)。

制約

  • 1CN701 \leq C \leq N \leq 70
  • 1DiC1 \leq D_i \leq C
  • 0Vi<2600 \leq V_i < 2^{60}
  • 1K10181 \leq K \leq 10^{18}
  • 少なくとも KK 種類のネックレスを作ることができる
  • 入力に含まれる値は全て整数である

入力

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

NN CC KK

D1D_1 V1V_1

\vdots

DND_N VNV_N

出力

答えを出力せよ。

4 2 3
2 4
2 6
1 2
1 3
5

以下のような 44 種類のネックレスを作ることができます。

  • 1,31,3 番目の宝石を選ぶ。ネックレスの美しさは 4 XOR 2=64\ {\rm XOR}\ 2 =6 となる。
  • 1,41,4 番目の宝石を選ぶ。ネックレスの美しさは 4 XOR 3=74\ {\rm XOR}\ 3 =7 となる。
  • 2,32,3 番目の宝石を選ぶ。ネックレスの美しさは 6 XOR 2=46\ {\rm XOR}\ 2 =4 となる。
  • 2,42,4 番目の宝石を選ぶ。ネックレスの美しさは 6 XOR 3=56\ {\rm XOR}\ 3 =5 となる。

よって美しさが 33 番目に大きいネックレスの美しさは 55 となります。

3 1 2
1 0
1 0
1 0
0

33 種類のネックレスを作ることができ、いずれも美しさは 00 です。

10 3 11
1 414213562373095048
1 732050807568877293
2 236067977499789696
2 449489742783178098
2 645751311064590590
2 828427124746190097
3 162277660168379331
3 316624790355399849
3 464101615137754587
3 605551275463989293
766842905529259824