Partition k groups squared cost
Your task
Partition an array of non-negative integers into exactly k contiguous groups to minimize the total cost, where the cost of a group is (sum of its elements) squared. Return the minimum total cost. Constraints: 1 <= k <= length <= 2000, 0 <= each element <= 1000. The cost function is convex/monotone so the layered DP admits divide-and-conquer optimization, but a correct O(k*n^2) reference is acceptable for the bounds.
Examples
min_partition_cost(arr: list[int], k: int) -> intExample 1
Input
min_partition_cost([1, 2, 3, 4], 2)Output
52