#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