Ctrl K

Целевые наборы во всех корзинах

Сложная
Дан массив положительных чисел values длины n и число goal. **Корзиной** назовём любую подпоследовательность values: выбираем элементы по позициям, порядок сохраняется. Всего корзин 2ⁿ, включая пустую и весь массив. Элементы с равными значениями, но на разных позициях считаются разными. **Вес** корзины — сколько у неё самой подпоследовательностей с суммой ровно goal. Найдите суммарный вес всех корзин. Ответ может быть большим, верните его по модулю 10⁹ + 7.
Пример 1
values=[2, 1, 1], goal=2 → 6

Сумму 2 дают два набора: [2] и [1, 1]. Набор [2] лежит в 4 корзинах (каждую единицу можно добавить или нет), набор [1, 1] — в 2 корзинах. Итого 4 + 2 = 6.

Пример 2
values=[5, 6], goal=4 → 0

Все элементы больше 4, так что ни одна корзина не даёт сумму 4.

Пример 3
values=[3], goal=3 → 1
Ограничения
  • 1 ≤ n ≤ 1000
  • 1 ≤ values[i] ≤ 10⁴
  • 1 ≤ goal ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВода между стенами СложнаяСамый большой горящий блок СложнаяПрибыль за две сделки СложнаяВсе способы расставить пробелы СложнаяПереход через пещеру Сложная
загружаем Python…
Вход
values=[2, 1, 1], goal=2
Ожидается
6

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