Ctrl K

XOR всех тройных смесей

Средняя
Дан массив целых values длины n. Для любой тройки индексов (i, j, k), где каждый индекс от 0 до n - 1 и индексы могут совпадать, определим смесь: (values[i] | values[j]) & values[k] Здесь | — побитовое ИЛИ, & — побитовое И. Всего троек n³. Верните побитовый XOR смесей всех троек.
Пример 1
values=[3, 5] → 6

Троек 2³ = 8: (3|3)&3 = 3, (3|3)&5 = 1, (3|5)&3 = 3, (3|5)&5 = 5, (5|3)&3 = 3, (5|3)&5 = 5, (5|5)&3 = 1, (5|5)&5 = 5. XOR всех восьми — 6.

Пример 2
values=[12] → 12

Единственная тройка (0, 0, 0) даёт (12 | 12) & 12 = 12.

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

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