Задача о рюкзаке

Здравствуйте.

Имеется рюкзак с максимальной вместимостью M и количество предметов N , имеющих свой вес. Можно ли положить в рюкзак некоторые из указанных предметов, чтобы их итоговая масса равнялась максимальной вместимости? Предметы не могут повторяться.

Вместимость, кол-во предметов и вес каждого указывается пользователем.

Пример: есть рюкзак с вмест-ю 12 кг и 5 предметов с весами 1,2,3,4,6 кг. Мы можем сложить 4+6+2 и получить 12 кг, таким образом заполнить рюкзак максимально.