K相等计划
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给定一个长度为  的数组,每次操作可以把数组中的任意一个数字 +1。最少需要执行几次操作,才能使得数组里至少有  个相等的数字?

输入描述:

第一行输入两个数 n,k (1\leq k\leq n\leq 10^6)表示数组的长度以及所要求的相等数字的数目

第二行输入n个数 a_1\sim a_n(1\leq a_i\leq 10^9),第i个数表示数组中第i个位置的数

输出描述:

输出一个数字,表示操作的次数
示例1

输入

复制
5 3
4 5 1 2 6

输出

复制
3

说明

1\leq k\leq n\leq 10^6

1\leq a_i\leq 10^9

对于样例,我们对a_1进行两次操作,对a_2进行一次操作,此时数组中就有三个相同的数字了。