Ctrl K

Самая дешёвая сумма произведений

Средняя
Даны два массива одинаковой длины first и second. Сумма произведений — это first[0]·second[0] + first[1]·second[1] + …. Элементы массива first можно переставить в любом порядке, массив second остаётся как есть. Верните наименьшую сумму произведений, которую можно получить.
Пример 1
first=[3, 1, 2], second=[4, 6, 5] → 28

Оставим first как есть: [3, 1, 2] ставит 3 напротив 4, 1 напротив 6, 2 напротив 5: 12 + 6 + 10 = 28. Это минимум: самое большое число всегда стоит напротив самого маленького.

Пример 2
first=[2, 2], second=[7, 1] → 16

При одинаковых числах в first порядок не важен: 2·7 + 2·1 = 16.

Пример 3
first=[5], second=[9] → 45
Ограничения
  • 1 ≤ len(first) = len(second) ≤ 10⁵
  • 1 ≤ first[i], second[i] ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамое большое число из кусков СредняяСтудии для записи СредняяНизко — высоко — низко СредняяСтрого низко — высоко СредняяОтменить как можно меньше встреч Средняя
загружаем Python…
Вход
first=[3, 1, 2], second=[4, 6, 5]
Ожидается
28

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