#P4826. [USACO15FEB] Superbull S

[USACO15FEB] Superbull S

Description

Bessie 和她的朋友们正在一年一度的 Superbull 锦标赛中比赛,Farmer John 负责让比赛尽可能精彩。总共有 NN (1N2000)(1 \leq N \leq 2000) 支队伍参加 Superbull。每支队伍都被分配了一个唯一的整数队伍 ID,范围在 123011 \ldots 2^{30}-1 之间,用于区分不同队伍。Superbull 是淘汰制比赛——每场比赛后,Farmer John 会选择淘汰其中一支队伍,被淘汰的队伍将不再参与后续比赛。当只剩一支队伍时,Superbull 结束。

Farmer John 发现比赛得分有一个特殊性质:任意一场比赛中,两支队伍的得分总和总是等于两队 ID 的按位异或(XOR)。例如,若队伍 12 和 20 比赛,则该场比赛总得分为 2424,因为 0110010100=1100001100 \oplus 10100 = 11000(即 1220=2412 \oplus 20 = 24)。

Farmer John 认为比赛总得分越高越精彩。因此,他希望安排一系列比赛,使得 Superbull 所有比赛的总得分最大化。请帮助他设计比赛方案。

Input Format

第一行包含整数 NN。接下来的 NN 行每行包含一个队伍 ID。

Output Format

输出 Superbull 所有比赛可能获得的最大总得分。

4
3
6
9
10
37

Hint

输出样例解释
一种获得 37 分的方案如下:

  1. Farmer John 让队伍 3 和 9 比赛,选择淘汰 3,此时剩余队伍为 6、9、10
  2. 让队伍 6 和 9 比赛,选择淘汰 9,此时剩余队伍为 6 和 10
  3. 最后让队伍 6 和 10 比赛
    总得分为 $(3 \oplus 9) + (6 \oplus 9) + (6 \oplus 10) = 10 + 15 + 12 = 37$。

关于按位异或
按位异或运算(记作 \oplus)对两个二进制数的每一位进行逻辑异或操作。当且仅当某一位上两个数不同时,结果的该位为 1。例如:
1010010100(十进制 20)\oplus 0110001100(十进制 12)=11000= 11000(十进制 24)