#2377. 平等

平等

题目描述

n\red{n}座塔,每座塔由若干个方块堆叠而成,第i\red{i}座塔有 hi\red{h_i}个方块,即塔的高度为 hi\red{h_i}

我们定义操作"切割"到高度H\red{H}为,对于所有塔,如果塔的高度大于H\red{H,}则把塔最上面若干个方块移除,使得塔的高度等于H\red{H}

"切割"的代价为过程中移除的方块个数。 每次"切割"的代价不能超过k\red{k,}求最少切割次数,使得最后所有塔的高度一样.

输入格式

第一行两个整数 n\red{n}k\red{k }

第二行n\red{n}个整数,表示 h1,j2,...,hn\red{h_1,j_2,...,h_n}

输出格式

一个整数,代表使得所有塔高度一样的最少"切割"次数。

样例

输入样例1

5 5 

3 1 2 2 4

输出样例1

2

输入样例2

4 5 

2 3 4 5

输出样例2

2

提示

对于50%\red{50\%}的数据满足, 1<=n<=103,n<=k<=103,\red{1<= n<=10^3,n<= k<=10^3,}

对于100%\red{100\%}的数据满足, 1<=n<=2×\red{1<= n<=2×}105,n<=k<=109,1<=hi<=2×\red{10^5, n<= k<=10^9,1<= h_i<=2×}105.\red{10^5.}