Ctrl K

Собрать рюкзак

Лёгкая
Рюкзак выдерживает не больше 5000 единиц веса. Перед вами вещи, weights[i] — вес i-й вещи. Верните, какое наибольшее количество вещей можно положить в рюкзак так, чтобы их суммарный вес не превысил 5000.
Пример 1
weights=[1200, 300, 2500, 900, 1000] → 4

Все пять весят 5900 — слишком много. Без самого тяжёлого (2500) остаётся 3400, так что влезают четыре.

Пример 2
weights=[1000, 1000, 1000, 1000, 1000] → 5

Ровно 5000 — это ещё допустимо, берём все.

Пример 3
weights=[999, 1000, 1000, 1000, 1000, 1000, 2] → 5
Ограничения
  • 1 ≤ len(weights) ≤ 10⁵
  • 1 ≤ weights[i] ≤ 5000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКуски торта для гостей ЛёгкаяСила слабейшего в паре ЛёгкаяТреугольник из палочек ЛёгкаяСмены знака ради большей суммы ЛёгкаяБольшая доля добычи Лёгкая
загружаем Python…
Вход
weights=[1200, 300, 2500, 900, 1000]
Ожидается
4

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