Действуя в лоб, почти сразу получаем задачу о рюкзаке. Запишем задачу формально:
где
- целочисленный положительный вектор стоимостей,
- вектор решения,
-действительный вектор весов,
-граничная стоимость.
Уже видно, что это практически и есть задача о рюкзаке, дальнейшее дело техники и вкуса. Для того, чтоб ее привести к стандартной форме, можно сделать замену
. Получим:
-сумма всех стоимостей, поэтому
. Найдя решение просто делаем обратную замену. Да, и разумеется игреки должны быть не больше n это легко учесть в методе ДП.