牛牛的xor
题号:NC21298
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

给你一个n个元素的数组x
你需要找到一个数组a, 0 ≤ a[i] ≤ x[i]
使得a[0] xor a[1]... xor a[n-1]最大
输出这个最大值

输入描述:

第一行输入一个整数n (1 ≤ n ≤ 50)
第二行输入n个整数 xi (0 ≤ xi ≤ 1e9)

输出描述:

输出一个整数
示例1

输入

复制
3
2 2 2

输出

复制
3
示例2

输入

复制
5
1 2 4 8 16

输出

复制
31
示例3

输入

复制
8
7 4 12 33 6 8 3 1

输出

复制
47
示例4

输入

复制
1
0

输出

复制
0
示例5

输入

复制
2
1024 1024

输出

复制
2047

备注:

子任务1: n <= 10
子任务2: n <= 20
子任务3: 无限制