#QYH20234. 长跑训练(train)

长跑训练(train)

题目描述

体育课上,老师要对n名同学进行若干次长跑训练,同学们的长跑水平各不相同,我们以ai记录(小1到k) , 1级表示速度最慢,k级表示速度最快;

每次训练,所有同学都必须参加,但是水平相同的多名同学中只能有1名同学提高1个等级(已经训练到k等级的同学就不会提升了),每次训练花费1单位经费。

编程计算,要把所有的同学的长跑水平都提升到k等级,至少需要花费多少经费。

输入格式

第一行为两个正整数n和k,第二行为n个正整数ai,分别表示每个同学的初始水平。

输出格式

输出最少的花费

输入样例1

4 4
1 2 2 3

输出样例1

4

输入样例2

4 3
1 1 1 1

输出样例2

5

样例说明

样例1解释:需要经过4次训练,过程是:(1 2 2 3)->(2 2 3 4)-> (2 3 4 4 )->(3 4 4 4)->(4 4 4 4)

数据范围

100%数据: n<=1000,k<=100, 1<=ai<=k