Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:512 MB
Statistics

题目描述

给定一排宽度相同但高度不同的建筑物,开发商希望尽可能地使建筑物的高度相等。建筑物的高度是由它的层数决定的。 
开发商想知道调整高度的最小成本。假设建筑物可以分成K组,其中每一组都是由相邻的建筑物组成,并且在工作完成后,一组中的所有建筑物必须具有相同的高度。改造一座建筑物的成本等于为达到目标高度而增加/减少的楼层数。

输入格式

输入第一行包含两个整数,N和K。N(1 ≤ N ≤ 50) 为建筑物的总数,K(1 ≤ K < N)为分组的数量。
接下来N行,每行一个1到100之间的整数,描述了N个建筑物的高度。

输出格式

输出单个整数,当建筑物可以划分为K组时,调整高度的最小成本。

样例数据

input

10 4 
63 
53 
4 
59 
68 
6 
12 
47 
63 
28

output

96

样例解释

一个最优的解决方案是将前五座建筑的高度改为59(成本:4 + 6 + 55 + 0 + 9),将后两栋建筑的高度改为9(成本:3 + 3),将后两栋建筑的高度改为55(成本:8 + 8),并保留最后一座建筑的高度为28。