#B3908. [语言月赛 202312] 异或构造题?

    ID: 9299 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 1 Uploaded By: Tags>2023O2优化位运算循环结构语言月赛

[语言月赛 202312] 异或构造题?

题目描述

给定 nn 个非负整数 a1,a2,,ana _ 1, a _ 2, \cdots, a _ n,你需要确定一个非负整数 xx,使得 $a _ 1 \oplus a _ 2 \oplus \cdots \oplus a _ n \oplus x$ 最小。

你需要计算 xx 和 $a _ 1 \oplus a _ 2 \oplus \cdots \oplus a _ n \oplus x$。

其中 \oplus 代表异或,xyx \oplus y 在 C++ 中可表示为 x ^ y。 对于两个非负整数 x,yx,y,它们的异或是指,将它们作为二进制数,对二进制表示中的每一位进行如下运算得到的结果:

  • xxyy 的这一位上不同时,结果的这一位为 11
  • xxyy 的这一位上相同时,结果的这一位为 00

例如:00=00\oplus 0=010=11\oplus 0=101=10\oplus 1=111=01\oplus 1=0

输入格式

输入共两行。

第一行一个整数 nn,代表序列 aa 的长度。
第二行 nn 个整数 a1,a2,,ana _ 1, a _ 2, \cdots, a _ n,代表序列 aa

输出格式

输出共一行两个整数 xx 和 $a _ 1 \oplus a _ 2 \oplus \cdots \oplus a _ n \oplus x$。

2
1 2
3 0
2
7 7
0 0

提示

数据规模与约定

对于 100%100\% 的数据,1n1061 \leq n \leq 10 ^ 60ai10180 \leq a _ i \leq 10 ^ {18}

测试点 nn aia _ i 特殊性质
11 =1= 1 103\leq 10 ^ 3
22 =2= 2 a1=a2a _ 1 = a _ 2
343 \sim 4
55 103\leq 10 ^ 3 =0= 0
686 \sim 8 103\leq 10 ^ 3
9119 \sim 11 106\leq 10 ^ 6
121312 \sim 13 1\leq 1
142014 \sim 20 1018\leq 10 ^ {18}