#ARC135C. XOR to All

XOR to All

XOR to All

时间限制:2s
空间限制:1024MB

题目描述

给定非负整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N)。你可以进行任意次以下操作:从当前序列中选择一个值 xx,并把每个 AiA_i 同时替换为 Ai⊕xA_i\oplus x,其中 ⊕\oplus 表示按位异或。

求操作后 ∑i=1NAi\sum_{i=1}^{N}A_i 的最大可能值。

输入格式

第一行输入整数 NN。

第二行输入 NN 个整数 A1,A2,…,ANA_1,A_2,\ldots,A_N。

输出格式

输出最大可能的元素和。

样例输入 1

5
1 2 3 4 5

样例输出 1

19

样例输入 2

5
10 10 10 10 10

样例输出 2

50

样例输入 3

5
3 1 4 1 5

样例输出 3

18

数据范围

对于所有数据,1≤N≤3×1051\le N\le3\times10^5,0≤Ai<2300\le A_i<2^{30}。

子任务编号 分值 特殊限制
1 10 所有 Ai=0A_i=0
2 所有 AiA_i 相等且为正数
3 20 N≤30N\le30
4 30 所有 Ai<210A_i<2^{10}
5 无特殊限制