CF578B."Or" Game
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given n numbers _a_1, _a_2, ..., a__n. You can perform at most k operations. For each operation you can multiply one of the numbers by x. We want to make
as large as possible, where
denotes the bitwise OR.
Find the maximum possible value of
after performing at most k operations optimally.
给你 n 个数 a1,a2,…,an。你最多可以执行 k 次操作。每次操作中,你可以将其中一个数乘以 x。我们的目标是使
尽可能大,其中
表示按位或(bitwise OR)。
求在最多执行 k 次操作(以最优方式)后,
的最大可能值。
输入格式
The first line contains three integers n, k and x (1 ≤ n ≤ 200 000, 1 ≤ k ≤ 10, 2 ≤ x ≤ 8).
The second line contains n integers _a_1, _a_2, ..., a__n (0 ≤ a__i ≤ 109).
第一行包含三个整数 n、k 和 x(1 ≤ n ≤ 200000,1 ≤ k ≤ 10,2 ≤ x ≤ 8)。
第二行包含 n 个整数 a1,a2,...,an(0 ≤ ai ≤ 109)。
输出格式
Output the maximum value of a bitwise OR of sequence elements after performing operations.
输出执行操作后序列元素按位或(bitwise OR)的最大值。
输入输出样例
输入#1
3 1 2 1 1 1
输出#1
3
输入#2
4 2 3 1 2 4 8
输出#2
79
说明/提示
For the first sample, any possible choice of doing one operation will result the same three numbers 1, 1, 2 so the result is
.
For the second sample if we multiply 8 by 3 two times we'll get 72. In this case the numbers will become 1, 2, 4, 72 so the OR value will be 79 and is the largest possible result.
对于第一个样例,无论选择哪种操作,最终得到的三个数都是 1、1、2,因此结果为
。
对于第二个样例,若将 8 连续乘以 3 两次,则得到 72。此时四个数变为 1、2、4、72,其按位或(OR)值为 79,这是可能得到的最大结果。
输入解题思路,AI测评打分。不知道怎么写?