Masalah ransel adalah NP-complete ketika angka diberikan sebagai angka biner . Dalam hal ini, pemrograman dinamis akan mengambil banyak langkah secara eksponensial (dalam ukuran input, yaitu jumlah bit dalam input) untuk menyelesaikan † .
Di sisi lain, jika angka-angka dalam input diberikan secara unary, pemrograman dinamis akan bekerja dalam waktu polinomial (dalam ukuran input).
Masalah seperti ini disebut lemah NP-complete .
†2n−−√nnnlgnO(n−−√)=O(2lgn/2)
Algoritma semacam ini, yaitu polinomial dalam jumlah terbesar yang merupakan bagian dari input, tetapi eksponensial dalam panjang input disebut pseudo-polinomial .