失误
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Description
题目描述
dXqwq 是个喜欢位运算的女孩子。
今天,她需要计算 n 个整数的异或和 a1⊕a2⊕⋯⊕an。
为了更方便地计算,她决定先将式子抄写到草稿纸上。但在抄写到某个符号的时候,她的圆珠笔突然没水了!于是,恰好一个异或符号 ⊕ 被抄成了加法符号 +。
可怜的 dXqwq 并没有注意到这一点,她仍然按照从左到右的方式计算了式子的值,也就是 ((((((a1⊕a2)⊕a3)⊕⋯)+ax)⊕ax+1)⊕⋯)⊕an。
现在她决定将错就错:她希望你算出所有可能的算式的最小值和最大值,来帮她检查她是否还在计算中犯了更多的错误。
Input Format
从文件 mistake.in
中读入数据。
第一行输入一个整数 n。
第二行输入 n 个整数 ai。
Output Format
输出到文件 mistake.out
中。
输出一行两个整数,分别代表可能得到结果的最小值和最大值。
4
20 8 5 20
13 53
Hint
样例
Input 1
4 20 8 5 20
Output 1
13 53
Input 2
6 1 1 4 5 1 4
Output 2
4 12
Input 3
见下发的 mistake3.in。 该样例满足测试点 5 的性质。
Output 3
见下发的 mistake3.ans。 该样例满足测试点 5 的性质。
数据范围
本题共 10 个测试点,全部测试点满足 2≤n≤105,0≤ai<231。
测试点 | n≤ | ai< |
---|---|---|
1 | 2 | 231 |
2 | 3 | 231 |
3∼5 | 103 | 231 |
6∼7 | 105 | 2 |
8∼9 | 105 | 210 |
10 | 105 | 231 |
样例解释
对于第一组样例,有三种可能得到的算式:
- ((20⊕8)⊕5)+20=45
- ((20⊕8)+5)⊕20=53
- ((20+8)⊕5)⊕20=13
其中的最小值为 13,最大值为 53。