Description
为了方便同学们查阅资料, 程序设计兴趣小组的辅导老师打算将积攒了很多年的 n 本书放到上课教室的书架上去。
教室的书架是一层一层叠起来的, 每一层最多可以放 m 本书。 每一层的高度由放在这层中最高的那本书决定的, 如果不放书, 则认为这层的高度为 0。 为了使每个同学能方便地拿到想要的书, 书架的总高度应尽可能低。 请编程计算将这 n 本书放在书架上后书架的最小总高度, 计算的过程中不考虑书的厚度与书架本身材料的厚度。
Input
输入共 n+1 行。 第 1 行 2 个整数 n 和 m (1≤m≤n≤100000) 。 接下来 n 行, 每行1 个正整数, 分别表示每本书的高度(每本书的高度不超过 100)。
Output
结果输出到文件中, 输出共 1 行, 表示将 n 本书放入书架后书架的最小总高度
HINT
【样例解释】
将高度是 30 和 20 的两本书放在一层, 则这层的高度为 30, 将高度是 10 的那本书放在另外一层, 则这层的高度为 10, 则书架的总高度为 40, 满足最小。