Надо из элементов заданного списка выбрать ЛЮБОЕ подмножество, сумма элементов которого даст заданную сумму (не факт, что такое подмножество есть). Да, практически тот самый рюкзак :)
Это называется "Subset Sum Problem," NP-полная.
Вот тут объясняется один алгоритм: www-fs.informatik.uni-tuebingen.de/~reinhard/krypto/English/4.5.1.e.html