Ctrl K

Больше всего предметов на точный вес

Средняя
В рюкзак нужно набрать предметы общим весом ровно goal. Веса предметов записаны в массиве weights, каждый предмет можно взять не больше одного раза. Найдите наибольшее количество предметов, которые можно взять так, чтобы их суммарный вес был ровно goal. Если набрать ровно goal нельзя, верните -1.
Пример 1
weights=[6, 2, 3, 1, 4], goal=6 → 3

Сумму 6 дают, например, наборы [6], [2, 4] и [2, 3, 1]; больше всего предметов — три — в [2, 3, 1].

Пример 2
weights=[5, 7], goal=6 → -1

Ни один набор не даёт ровно 6, поэтому ответ -1.

Пример 3
weights=[2, 2, 2, 2], goal=4 → 2
Ограничения
  • 1 ≤ len(weights) ≤ 1000
  • 1 ≤ weights[i] ≤ 1000
  • 1 ≤ goal ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяСамая прибыльная серия дней СредняяДобраться до последней клетки СредняяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол Средняя
загружаем Python…
Вход
weights=[6, 2, 3, 1, 4], goal=6
Ожидается
3

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