values и число target. За один шаг можно взять любой элемент массива и переключить в его двоичной записи один бит: 0 превратить в 1 или 1 в 0. Переключать можно и старшие нули, то есть число может вырасти.
Верните наименьшее число шагов, после которых XOR всех элементов массива станет равен target.values=[5, 9, 2], target=7 → 2
Сейчас 5 XOR 9 XOR 2 = 14, в двоичной записи 1110, а нужно 7 = 0111. Они расходятся в двух битах, и каждый можно исправить одним переключением в любом из чисел.
values=[6, 6], target=0 → 0
6 XOR 6 = 0, менять ничего не нужно.
values=[0], target=10 → 2
У числа 10 = 1010 два единичных бита: включаем их в нуле за два шага.
target ≤ 10⁶values=[5, 9, 2], target=7
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 90 тестов на сервере, включая скрытые.