CF1208F Bits And Pieces

题目描述

给定一个包含 $n$ 个整数的数组 $a$。 你需要在所有满足 $i < j < k$ 的三元组 $(i, j, k)$ 中,找到表达式 $a_{i} | (a_{j} \& a_{k})$ 的最大值。 其中 $\&$ 表示[按位与运算](https://en.wikipedia.org/wiki/Bitwise_operation#AND),$|$ 表示[按位或运算](https://en.wikipedia.org/wiki/Bitwise_operation#OR)。

输入格式

输入的第一行包含一个整数 $n$($3 \le n \le 10^{6}$),表示数组 $a$ 的大小。 下一行包含 $n$ 个用空格分隔的整数 $a_1, a_2, \ldots, a_n$($0 \le a_{i} \le 2 \cdot 10^{6}$),表示数组 $a$ 的元素。

输出格式

输出一个整数,表示题目中所述表达式的最大值。

说明/提示

在第一个样例中,唯一可能的三元组是 $(1, 2, 3)$,因此答案为 $2 | (4 \& 6) = 6$。 在第二个样例中,共有 $4$ 个可能的三元组: 1. $(1, 2, 3)$,其值为 $2|(8\&4) = 2$。 2. $(1, 2, 4)$,其值为 $2|(8\&7) = 2$。 3. $(1, 3, 4)$,其值为 $2|(4\&7) = 6$。 4. $(2, 3, 4)$,其值为 $8|(4\&7) = 12$。 因此最大值为 $12$。 由 ChatGPT 4.1 翻译