Ctrl K

Поровну в два офиса

Средняя
У компании два офиса, и на выездную неделю нужно отправить туда всех сотрудников — ровно половину в каждый. Для сотрудника i билет до первого офиса стоит fares[i][0], до второго — fares[i][1]. Верните наименьшую общую стоимость билетов, при которой в каждом офисе окажется ровно половина сотрудников.
Пример 1
fares=[[40, 15], [25, 30], [60, 70], [12, 50]] → 117

В первый офис летят сотрудники 2 и 3 (60 + 12), во второй — 0 и 1 (15 + 30). Итого 117: сотрудник 1 переплачивает за второй офис всего 5, меньше всех остальных.

Пример 2
fares=[[5, 9], [3, 8]] → 12

Обоим дешевле в первый офис, но туда можно отправить только одного. Выгоднее послать во второй сотрудника 0: 9 + 3 = 12 против 5 + 8 = 13.

Ограничения
  • 2 ≤ len(fares) ≤ 10⁴, длина чётная
  • 1 ≤ fares[i][0], fares[i][1] ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамое большое число из кусков СредняяСтудии для записи СредняяНизко — высоко — низко СредняяСтрого низко — высоко СредняяОтменить как можно меньше встреч Средняя
загружаем Python…
Вход
fares=[[40, 15], [25, 30], [60, 70], [12, 50]]
Ожидается
117

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