Я не очень уверен, что здесь получится применить метод динамического программирования, поскольку последнее условие дает некоторое совместное ограничение на все переменные

в совокупности. В зависимости от того, как мы уже задали часть из них, для оставшихся у нас могут быть разные варианты.
Вообще задача устная. По сути, если отбросить все что тут накручено, у нас есть

положительных чисел, из которых нужно выбрать

так, чтобы их сумма была максимальна. Очевидно, что нужно брать

максимальных.
Впрочем, кажется принцип Беллмана тут можно прикрутить, если последовательно наращивать количество единиц от одной до

. Но это откровенное извращение.