#2678. 异或求和的最大值

异或求和的最大值

题目描述

给定 nn 个非负整数 a1,a2,,ana_1,a_2,\dots,a_n,你可以执行以下操作任意(可以为零)次:

  • 选择一个数 x{a1,a2,,an}x\in \{a_1,a_2,\dots,a_n\}
  • 对于所有 1in1\leq i\leq n,将 aia_i 修改为 aixa_i\oplus x,其中 \oplus 表示按位异或操作。

请你最大化操作后 i=1nai\sum_{i=1}^na_i 的值。

输入格式

第一行一个整数 nn

第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n

输出格式

一行一个整数,表示操作后 i=1nai\sum_{i=1}^na_i 的最大值。

样例 #1

样例输入 #1

6
1 1 4 5 1 4

样例输出 #1

16

说明/提示

  • 1n3×1051\leq n \leq 3\times 10^5
  • 0ai<2300\leq a_i<2^{30}