Status Time Memory Lang. Submit Date

1029.Candy

Time Limit:1000MS  Memory Limit:65535KB
Description

Solo和koko是两兄弟,妈妈给了他们一大袋糖,每块糖上都有自己的重量。现在他们想要将这些糖分成两堆。分糖的任务当然落到了大哥Solo的身上,然而koko要求必须两个人获得的糖的总重量”相等”(根据Koko的逻辑),要不然就会哭的。
非常不幸的是,koko还非常小,并且他只会先将两个数转成二进制再进行加法,而且总会忘记进位。如当12(1100)加5(101)时:
1100

+ 0101

1001
于是koko得到的计算结果是9(1001)。此外还有一些例子:
5 + 4 = 1
7 + 9 = 14
50 + 10 = 56
(事实上,这正是异或运算:12\^5=9,5\^4=1…)
现在Solo非常贪婪,他想要尽可能使自己得到的糖的总重量最大,且不让koko哭。

Input

输入的第一行是一个整数N(2 ≤ N ≤ 15),表示有袋中多少块糖。第二行包含N个用空格分开的整数C~i~(1 ≤ C~i~≤ 10^6^),表示第i块糖的重量。

Output

如果能让koko不哭,输出Solo所能获得的糖的总重量,否则输出”NO”。

Sample test
Sample input
3
3 5 6
Sample output
11
Note

更多样例:
input 1
3
3 5 6
output 1
11
input 2
5
1 2 3 4 5
output 2
NO
input 3
8
7258 6579 2602 6716 3050 3564 5396 1773
output 3
35165
样例1中,三块糖重量为3、5、6,因为5(101)+6(110)=3(11),所以Solo拿走了重为5和6的糖,koko则得到了重为3的糖。
样例2中五块糖,无论如何分,都无法满足koko的要求,所以NO。
样例3中Solo拿走了前面7块糖,一共重35165。

Tags
Post editorial
Editorials
Login before submit
Test Input
Test Output
Console
IDE Setting
  • 字体设置
    调整适合你的字体大小。
  • 主题设置
    切换不同的代码编辑器主题,选择适合你的语法高亮。
  • 行宽限制
    设置每一行代码的最大字符个数,设置为0则不限制。