اگر لازم است آرایه را دقیقاً به k زیربخش تقسیم کنیم، پارامتر دوم به سادگی در برنامه نویسی پویا اضافه می شود - به چند بخش تقسیم می شود.
یعنی اکنون dp زیر را در نظر می گیریم:
dp[i][j] پاسخ اولین عناصر i است، اگر آنها را دقیقاً به قطعات j تقسیم کنیم.
مراقب حالت های نامعتبر باشید.
محاسبه مجدد دینامیک یکسان است، اما با در نظر گرفتن پارامتر دوم. یعنی با شمارش dp[i][k] و مرتبسازی از طریق مرز سمت چپ آخرین زیربخش j، dp[i][k] را تا dp[j - 1][k - 1] و مقدار قطعه را دوباره محاسبه میکنیم. [j;i].