测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6050. 「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set

编程题 普及+/提高
知识点

题目描述

给出 $ n $ 个非负整数,将数划分成两个集合,记为一号集合和二号集合。$ x_1 $ 为一号集合中所有数的异或和,$ x_2 $ 为二号集合中所有数的异或和。在最大化 $ x_1 + x_2 $ 的前提下,最小化 $ x_1 $。

输入格式

第一行包含一个整数 $ n $。
第二行包含 $ n $ 个用空格隔开的数字,保证它们都是不超过 $ 10 ^ {18} $ 的非负整数。

输出格式

输出一行一个数,表示最优方案中的 $ x_1 $。

输入输出样例

输入 #1
8
1 1 2 2 3 3 4 4
输出 #1
7

说明/提示

对于 $ 30\% $ 的数据,$ n \leq 10 $;
对于 $ 60\% $ 的数据,$ n \leq 1000 $;
对于 $ 100\% $ 的数据,$ n \leq 100000 $。
上一题 去做题 下一题