Представьте, что у вас есть массив из n целых чисел. Но n — это
слишком много, поэтому вы хотите удалить из него ровно k чисел. А
выбрать эти k чисел нужно так, чтобы побитовое ИЛИ оставшихся чисел было
как можно больше.
Гарантируется, что в любом тесте либо k ≤ 7, либо все числа в исходном
массиве не превосходят 105.
Исходные данные
В первой строке даны два целых числа n и k, разделённые пробелом
(0 ≤ k ≤ 100; k + 1 ≤ n ≤ 105).
Во второй строке даны n неотрицательных целых чисел через пробел —
элементы исходного массива (они не превосходят 109).
Результат
Выведите одно целое число — максимальное значение побитового ИЛИ
оставшихся чисел.
Примеры
исходные данные | результат |
---|
4 1
32 16 8 7
| 56
|
4 1
98765432 98765432 98765432 1
| 98765433
|
Замечания
Чтобы вычислить побитовое ИЛИ двух чисел, необходимо записать их в
двоичной системе счисления, а затем рассмотреть каждый разряд. Если хотя
бы в одном из чисел в этом разряде стоит 1, то в результирующем числе в
этом разряде тоже будет стоять 1. В обратном случае там будет стоять
0.
Автор задачи: Алексей Данилюк
Источник задачи: Чемпионат УрФУ среди юниоров 2016