#G5006. [GESP202312 五级] 烹饪问题

[GESP202312 五级] 烹饪问题

题目描述

NN 种食材,编号从 11NN,其中第 ii 种食材的美味度为 aia_i

不同食材之间的组合可能产生奇妙的化学反应。

如果两种食材的美味度分别为 xxyy,那么它们的契合度定义为:

x and yx\ \text{and}\ y

其中,and\text{and} 表示按位与运算。

进行按位与运算时,需要先将两个数转换为二进制,并逐位进行与运算。只有当对应二进制位都为 11 时,结果的该位才为 11,否则为 00

例如,121266 的二进制表示分别为:

12=(1100)212=(1100)_2 6=(0110)26=(0110)_2

逐位进行按位与运算:

1100 and 0110=01001100\ \text{and}\ 0110=0100

因此:

12 and 6=412\ \text{and}\ 6=4

在 C++ 中可以直接使用 & 运算符表示按位与运算。

请你从 NN 种食材中选择两种不同的食材,使它们的契合度尽可能大,并输出这个最大契合度。

输入格式

第一行输入一个整数 NN,表示食材的种数。

第二行输入 NN 个整数 a1,a2,,aNa_1,a_2,\ldots,a_N,表示各食材的美味度。

输出格式

输出一个整数,表示任意两种不同食材之间能够得到的最大契合度。

样例

3
1 2 3
2
5
5 6 2 10 13
8

样例解释

样例 11 中,编号为 2233 的食材美味度分别为 2233,它们的契合度为:

2 and 3=22\ \text{and}\ 3=2

这是所有食材两两组合中的最大契合度,因此输出 22

样例 22 中,编号为 4455 的食材美味度分别为 10101313,它们的契合度为:

10 and 13=810\ \text{and}\ 13=8

这是所有食材两两组合中的最大契合度,因此输出 88

数据范围

对于 4040%% 的测试数据:

N1000N \le 1000

对于全部测试数据:

N106N \le 10^6

0ai21474836470 \le a_i \le 2147483647