Vấn đề Knapsack là NP-complete khi các số được đưa ra dưới dạng số nhị phân . Trong trường hợp này, các lập trình năng động sẽ mất theo cấp số nhân nhiều bước (trong kích thước của đầu vào, tức là số bit trong dữ liệu) đến khi kết thúc † .
Mặt khác, nếu các số trong đầu vào được đưa ra một cách đơn nhất, chương trình động sẽ hoạt động theo thời gian đa thức (theo kích thước của đầu vào).
Đây là loại vấn đề được gọi là yếu NP-complete .
†2n−−√nnnlgnO(n−−√)=O(2lgn/2)
Loại thuật toán này, tức là đa thức với số lượng lớn nhất là một phần của đầu vào, nhưng hàm mũ theo chiều dài đầu vào được gọi là đa thức giả .