01სადაც ხარბი ტყდება: მონეტები {1, 3, 4}
გადავიხადოთ 6 რაც შეიძლება ნაკლები მონეტით; გვაქვს 1, 3 და 4 ნომინალის მონეტები. ხარბი იღებს უდიდეს მონეტას, რომელიც ეტევა: 4, შემდეგ 1, შემდეგ 1, სულ სამი. თუმცა 3 + 3 მხოლოდ ორი მონეტაა.
ხარბი იმიტომ ჩავარდა, რომ პირველი არჩევანი ადგილზე კარგი ჩანდა, მაგრამ დანარჩენი გააფუჭა. დპ ნაადრევად არაფერს წყვეტს: ყოველი თანხისთვის საუკეთესო პასუხს იმახსოვრებს და დიდ თანხებს მათგან აგებს.
მდგომარეობა ერთი წინადადებაა: dp[a] = მონეტების მინიმალური რაოდენობა, რომლითაც ზუსტად a თანხა შედგება. ბაზა: dp[0] = 0. ნებისმიერი სხვა a-სთვის ბოლო გამოყენებული მონეტა რაღაც c იყო, მანამდე კი a − c ოპტიმალურად შევადგინეთ. ამიტომ
dp[a] = 1 + min(dp[a − c]) ყველა c ≤ a მონეტაზე,
ხოლო dp[a] = ∞, თუ ვერცერთი მონეტა ვერ ეტევა. ვავსებთ a = 1, 2, …, A და პასუხია dp[A].