first, second и bits. Выберите одну маску x, 0 ≤ x < 2^bits, и наложите её на оба числа через XOR. Сделайте так, чтобы произведение (first XOR x) · (second XOR x) было как можно больше.
Ответ может быть очень большим — верните его остаток от деления на 10⁹ + 7. Сравнивать варианты нужно по настоящему произведению, а не по остатку.first=9, second=2, bits=3 → 84
Маска 3: 9 XOR 3 = 10, 2 XOR 3 = 1, произведение 10. Маска 5: 9 XOR 5 = 12, 2 XOR 5 = 7, произведение 84 — это максимум.
first=5, second=5, bits=0 → 25
При bits = 0 единственная маска — 0, ответ 5 · 5 = 25.
first=0, second=0, bits=2 → 9
Маска 3 превращает оба нуля в 3: 3 · 3 = 9.
first=9, second=2, bits=3
84
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 75 тестов на сервере, включая скрытые.