Пусть S = {s1, \ ldots, sn}
Пусть P (j, K, a) истинно, если в s1, \ ldots, sj можно найти элементы с суммой до K.
Тогда P (j, K, a) = P (j-1, K-sj, a-1) ИЛИ P (j, K, a) (либо sj необходим, либо не нужен).
Затем алгоритм состоит из заполнения трехмерной таблицы размерности n на K + 1 на a + 1. Каждая запись занимает постоянное время для заполнения, следовательно, сложность времени (и пространства) составляет O (нКа)