Ctrl K

Суммарная сила отрядов

Сложная
У каждого бойца есть уровень навыка: skills[i]. Из бойцов можно собрать отряд — любое непустое подмножество. Сила отряда равна квадрату самого высокого навыка в нём, умноженному на самый низкий навык. Верните сумму сил всех возможных отрядов. Бойцы с одинаковым навыком считаются разными людьми. Ответ может быть огромным, поэтому верните его по модулю 10⁹ + 7.
Пример 1
skills=[3, 1, 2] → 76

Отряды: [3] → 27, [1] → 1, [2] → 8, [3,1] → 9, [3,2] → 18, [1,2] → 4, [3,1,2] → 9. Сумма 76.

Пример 2
skills=[2, 2] → 24

Три отряда, у каждого сила 2² · 2 = 8, итого 24.

Пример 3
skills=[5] → 125
Ограничения
  • 1 ≤ len(skills) ≤ 10⁵
  • 1 ≤ skills[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиНаибольшее число, кратное трём СложнаяПостаматы вдоль дороги СложнаяСлияние плиток спереди СложнаяРазбиение на подъём и спуск СложнаяРазбиение на подъём и спуск: большие числа Сложная
загружаем Python…
Вход
skills=[3, 1, 2]
Ожидается
76

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