#1078. 烹饪问题

烹饪问题

题目描述

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

不同食材之间的组合可能产生奇妙的化学反应。具体来说,如果两种食材的美味度分别为 xxyy,那么它们的契合度为 x and yx \text{ and } y

其中,and\text{and} 运算为按位与运算,需要先将两个运算数转换为二进制,然后在高位补足 00,再逐位进行与运算。例如,121266 的二进制表示分别为 (1100)2(1100)_2(0110)2(0110)_2,将它们逐位进行与运算,得到 (0100)2(0100)_2,转换为十进制得到 44,因此 12 and 6=412 \text{ and } 6 = 4在 C++ 或 Python 中,可以直接使用 & 运算符表示与运算。

现在,请你找到契合度最高的两种食材,并输出它们的契合度。

输入格式

第一行包含一个正整数 NN —— 表示食材的种数。

第二行包含 NN 个用空格隔开的整数 a1,a2,,aNa_1, a_2, \dots, a_N —— 依次表示各种食材的美味度。

输出格式

输出一行,一个整数,表示最高的契合度。

样例输入 1

3
1 2 3

样例输出 1

2

样例输入 2

5
5 6 2 10 13

样例输出 2

8

说明

样例解释

  • 在第一个样例中,编号为 2233 的食材之间的契合度为 2 and 3=22 \text{ and } 3 = 2,这是所有食材两两之间最高的契合度。
  • 在第二个样例中,编号为 4455 的食材之间的契合度为 10 and 13=810 \text{ and } 13 = 8,这是所有食材两两之间最高的契合度。

数据范围

  • 对于 40%40\% 的测试点,保证 N1000N \le 1000
  • 对于所有测试点,保证 1N1061 \le N \le 10^6
  • 对于所有测试点,保证 0ai23110 \le a_i \le 2^{31} - 1
  • 保证所有的输入数值均为整数。