Ctrl K

Команда и её слабое звено

Средняя
В клубе n игроков. У игрока i мастерство skill[i] и выносливость stamina[i]. Нужно собрать команду ровно из team_size разных игроков. Счёт команды — сумма мастерства её участников, умноженная на наименьшую выносливость среди них: команда держится, пока держится самый слабый. Верните наибольший возможный счёт.
Пример 1
skill=[5, 1, 4, 6], stamina=[3, 8, 2, 4], team_size=2 → 33

Команда из игроков 0 и 3: (5 + 6) · min(3, 4) = 33. Игрок 2 с выносливостью 2 тянул бы множитель вниз.

Пример 2
skill=[2, 9, 3], stamina=[10, 1, 10], team_size=1 → 30

Одиночки дают 20, 9 и 30 — лучший игрок 2.

Пример 3
skill=[3, 3, 3], stamina=[7, 0, 5], team_size=3 → 0

Брать нужно всех, а у игрока 1 выносливость 0 — счёт 0.

Ограничения
  • 1 ≤ n = len(skill) = len(stamina) ≤ 10⁵
  • 0 ≤ skill[i], stamina[i] ≤ 10⁵
  • 1 ≤ team_size ≤ n
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСтудии для записи СредняяЗадания с перерывом на остывание СредняяМетки вразнобой СредняяУбрать половину списка СредняяОдно мероприятие в день Средняя
загружаем Python…
Вход
skill=[5, 1, 4, 6], stamina=[3, 8, 2, 4], team_size=2
Ожидается
33

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