We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
A hard dynamic programming problem, graded against 6 test cases (3 of them hidden).
Overlapping subproblems solved once and reused - the pattern candidates fear most.
Reach for it when you see: "Number of ways", "minimum/maximum cost", or a recursion that recomputes the same state.
More Dynamic Programmingproblems →First check feasibility: (n-1) % (k-1) must equal 0. Use prefix sums for range sum queries. Define dp[i][j] as the minimum cost to process stones[i..j]. Split at multiples of (k-1) from i. When (j-i) % (k-1) == 0, the range can be merged into one pile, so add the range sum.
The full reference solution in every supported language stays in the editor above - reveal it there once you have had a real attempt.
Read off this problem's own test suite, so these are the cases a submission actually has to survive.
These apply to the pattern as a whole, not just this problem.