牛牛有一个长度为 n 的整数数组 a = {a1, a2, ..., an}。定义 f(a) 为数组 a 中每个元素出现次数的最大值。例如,f({1, 2, 3, 3}) = 2,f({1, 1, 1}) = 3。 牛牛最多可以删除 k 个数字,他想通过删除若干数字使得 f(a) 尽可能小。删除第 i 个元素 a[i] 的代价是 i(即元素的索引位置)。
请你帮牛牛计算删除后 f(a) 的最小值,以及达到这个最小值所需的最小代价。
第一行输入两个正整数 n 和 k,表示数组 a 的长度和最多可以删除的数字个数(1 < k <= n < 10^5)。
第二行输入 n 个由空格隔开的正整数 a1, a2, ..., an,表示数组 a 的元素(1 <= a[i] <= 10^9)。
5 2 1 1 1 2 2
2 1
只删除 a1,花费的代价为 1,f(a) = 2是最小值,因此答案为 2 1。
每个元素删掉的代价固定为该元素的下标+1,并且其他元素的删除不会影响他的代价。
选择合适的字体大小
选择合适的主题