CF578B "Or" Game

题目描述

给定 $n$ 个数字 $a_1, a_2, ..., a_n$。你最多可以进行 $k$ 次操作。每次操作可以将其中一个数字乘以 $x$。我们想要使 $a_1 \mid a_2 \mid \cdots \mid a_n$ 的结果尽可能大,其中 $\mid$ 表示按位或运算。 请你求出在最多进行 $k$ 次操作后,按位或结果的最大可能值。

输入格式

第一行包含三个整数 $n$、$k$ 和 $x$($1 \leq n \leq 200000$,$1 \leq k \leq 10$,$2 \leq x \leq 8$)。 第二行包含 $n$ 个整数 $a_1, a_2, ..., a_n$($0 \leq a_i \leq 10^9$)。

输出格式

输出进行操作后按位或结果的最大值。

说明/提示

对于第一个样例,无论如何选择一次操作,最终得到的三个数字均为 $1, 1, 2$,因此按位或结果为 $3$。 对于第二个样例,如果将 $8$ 连续两次乘以 $3$,会得到 $72$。此时数字变为 $1, 2, 4, 72$,按位或结果为 $79$,这是最大可能的答案。 由 ChatGPT 5 翻译