left и right — значения на их верхних гранях (от 1 до 6). В рядах может быть разное число кубиков.
За один ход можно взять любой кубик из любого ряда и повернуть его любой гранью вверх, то есть заменить его значение на любое число от 1 до 6.
Верните наименьшее число ходов, после которого суммы двух рядов станут равны, или -1, если это невозможно.left=[2, 2], right=[6] → 1
Суммы 4 и 6. Достаточно повернуть кубик справа гранью 4 вверх.
left=[1, 2], right=[6, 6] → 2
Суммы 3 и 12, разница 9. Один поворот меняет сумму не больше чем на 5, значит нужно хотя бы два: например, левую 1 превратить в 6, а одну правую 6 — в 2. Получится 8 и 8.
left=[1, 1, 1, 1, 1, 1, 1, 1], right=[5] → -1
Слева сумма не может стать меньше 8, а справа — больше 6. Уравнять нельзя.
left), len(right) ≤ 10⁵left[i], right[i] ≤ 6left=[2, 2], right=[6]
1
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 140 тестов на сервере, включая скрытые.