Ctrl K

Две равные команды с близкими суммами

Сложная
Дан массив целых чисел values чётной длины 2n — это очки игроков. Их нужно разбить на две команды ровно по n игроков, чтобы суммы очков команд отличались как можно меньше. Каждый игрок попадает ровно в одну команду. Верните наименьшую возможную абсолютную разность сумм двух команд.
Пример 1
values=[5, 1, 8, 2] → 2

Команды [5, 2] и [1, 8] набирают 7 и 9 очков, разница 2. Ровно поровну (по 8) разделить нельзя.

Пример 2
values=[-4, 10] → 14

В каждой команде по одному числу, поэтому разница |10 − (−4)| = 14.

Пример 3
values=[3, -2, 6, 1, 4, 0] → 2

Команды [6, 1, -2] и [3, 4, 0] набирают 5 и 7 — разница 2. Сумма всех чисел 12, но никакие три числа не дают ровно 6.

Ограничения
  • 1 ≤ n ≤ 15
  • len(values) = 2n
  • -10⁷ ≤ values[i] ≤ 10⁷
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКак рассчитаться за меньше переводов СложнаяДве группы с одинаковым средним СложнаяСклейка фрагментов СложнаяЦепочки с квадратными суммами СложнаяСамая маленькая команда со всеми навыками Сложная
загружаем Python…
Вход
values=[5, 1, 8, 2]
Ожидается
2

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