#ATarc173e. [ARC173E] Rearrange and Adjacent XOR

[ARC173E] Rearrange and Adjacent XOR

题目描述

给定一个长度为 NN 的非负整数列 A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N)。对于该整数列,进行如下操作 N1N-1 次,最终得到长度为 11 的整数列。

  • nnAA 的当前长度。首先,可以任意重新排列 AA 中的元素。然后,将 AA 替换为长度为 n1n-1 的非负整数列 $(A\_1\ \oplus\ A\_2,\ A\_2\ \oplus\ A\_3,\ \dots,\ A\_{n-1}\ \oplus\ A\_n)$。

其中,\oplus 表示按位异或(XOR)运算。

经过 N1N-1 次操作后,得到的长度为 11 的整数列中的元素记为 XX。请你求出 XX 可能取得的最大值。

按位异或(XOR)运算的定义如下:对于非负整数 A,BA, BA  BA\ \oplus\ B 的二进制表示中,第 2k2^k 位(k0k\geq 0)的数值为:若 A,BA, B 的二进制表示在第 2k2^k 位上仅有一个为 11,则该位为 11,否则为 00

例如,3  5=63\ \oplus\ 5 = 6(二进制表示为:011  101=110011\ \oplus\ 101 = 110)。 一般地,kk 个非负整数 p1,p2,,pkp_1, p_2, \dots, p_k 的按位异或为 $(\dots((p\_1\ \oplus\ p\_2)\ \oplus\ p\_3)\ \oplus\ \dots\ \oplus\ p\_k)$,并且可以证明,这一结果与 p1,p2,,pkp_1, p_2, \dots, p_k 的顺序无关。

输入格式

输入以如下格式从标准输入读入。

NN A1A_1 A2A_2 \dots ANA_N

输出格式

请输出答案。

样例 1

输入

4
1 2 3 4

输出

7

样例 2

输入

13
451745518671773958 43800508384422957 153019271028231120 577708532586013562 133532134450358663 619750463276496276 615201966367277237 943395749975730789 813856754125382728 705285621476908966 912241698686715427 951219919930656543 124032597374298654

输出

1152905479775702586

说明/提示

限制条件

  • 2N1002 \leq N \leq 100
  • 0Ai<2600 \leq A_i < 2^{60}
  • 输入的所有数均为整数

样例解释 1

通过如下 33 次操作,可以将 AA 变为 A=(7)A=(7)

  • 11 次操作,将 A=(1,2,3,4)A=(1,2,3,4) 重新排列为 (3,1,4,2)(3,1,4,2)AA 被替换为 $(3\ \oplus\ 1,\ 1\ \oplus\ 4,\ 4\ \oplus\ 2) = (2,5,6)$。
  • 22 次操作,将 A=(2,5,6)A=(2,5,6) 重新排列为 (2,6,5)(2,6,5)AA 被替换为 (2  6, 6  5)=(4,3)(2\ \oplus\ 6,\ 6\ \oplus\ 5) = (4,3)
  • 33 次操作,将 A=(4,3)A=(4,3) 重新排列为 (4,3)(4,3)AA 被替换为 (4  3)=(7)(4\ \oplus\ 3) = (7)

由 ChatGPT 4.1 翻译