atcoder#ARC122D. [ARC122D] XOR Game

[ARC122D] XOR Game

配点 : 700700

問題文

黒板に 2N2N 個の整数が書かれており,そのうち ii 番目の整数は AiA_i です.

Alice と Bob がゲームをします. ゲームは NN ラウンドにわたって行われ,各ラウンドでは以下の操作を行います.

  • まず,Alice が黒板に書かれている整数を一つ選び,消す. ここで選ばれた整数を xx とする.
  • 次に,Bob が黒板に書かれている整数を一つ選び,消す. ここで選ばれた整数を yy とする.
  • xyx \oplus y の値をノートに記録する.ただしここで \oplus はビットごとの排他的論理和を表す.

最終的に,黒板からは全ての整数が消え去り,ノートには NN 個の整数が記録されます. ゲームのスコアは,ノートに記録された整数の最大値です. Alice の目標はスコアを最大化することで,Bob の目標はスコアを最小化することです. 両者が最適に行動した場合,ゲームのスコアがいくつになるか求めてください.

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0Ai<2300 \leq A_i < 2^{30}
  • 入力される値はすべて整数である

入力

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

NN

A1A_1 A2A_2 \cdots A2NA_{2N}

出力

答えを出力せよ.

2
0 1 3 5
4

例えば,以下のようなゲームの進行が考えられます.なお,この進行が最適な手順であるとは限りません.

  • ラウンド 11:
    • Alice が A1=0A_1=0 を選択する.
    • Bob が A3=3A_3=3 を選択する.
    • ノートに 03=30 \oplus 3=3 が記録される.
  • Alice が A1=0A_1=0 を選択する.
  • Bob が A3=3A_3=3 を選択する.
  • ノートに 03=30 \oplus 3=3 が記録される.
  • ラウンド 22:
    • Alice が A4=5A_4=5 を選択する.
    • Bob が A2=1A_2=1 を選択する.
    • ノートに 51=45 \oplus 1=4 が記録される.
  • Alice が A4=5A_4=5 を選択する.
  • Bob が A2=1A_2=1 を選択する.
  • ノートに 51=45 \oplus 1=4 が記録される.
  • ゲームのスコアが max(3,4)=4\max(3,4)=4 になる.
2
0 0 0 0
0
10
974654030 99760550 750234695 255777344 907989127 917878091 818948631 690392797 579845317 549202360 511962375 203530861 491981716 64663831 561104719 541423175 301832976 252317904 471905694 350223945
268507123