Ctrl K

Погасить биты ради большого XOR

Средняя
Дан массив неотрицательных целых чисел values. За один ход можно выбрать любой элемент и погасить в нём любой набор единичных битов (превратить их в нули). Зажигать новые биты нельзя. Ходов можно сделать сколько угодно, в том числе ни одного. Верните наибольшее значение, которое может принять XOR всех элементов массива после ваших ходов.
Пример 1
values=[5, 6, 3] → 7

Без изменений 5 XOR 6 XOR 3 = 0. Погасим у 6 бит 2 (получим 2) и у 3 бит 1 (получим 1): 5 XOR 2 XOR 1 = 7.

Пример 2
values=[8, 8, 8, 8] → 8

Обнулим три восьмёрки из четырёх — останется одна, XOR равен 8.

Пример 3
values=[0] → 0
Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • 0 ≤ values[i] ≤ 10⁸
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСумма различий в битах СредняяВосемь фонарей через много ночей СредняяРазрез на равные по XOR половины СредняяБери из любой кучки СредняяПогасить табло переключением рядов Средняя
загружаем Python…
Вход
values=[5, 6, 3]
Ожидается
7

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 86 тестов на сервере, включая скрытые.