using System.Linq; using System.Collections.Generic; using System; public class Hello { static void Main() { string[] line = Console.ReadLine().Trim().Split(' '); var n = int.Parse(line[0]); var k = int.Parse(line[1]); line = Console.ReadLine().Trim().Split(' '); var a = Array.ConvertAll(line, int.Parse); getAns(n, k, a); } static void getAns(int n, int k, int[] a) { var d = new Dictionary(); foreach (var x in a) if (d.ContainsKey(x)) d[x]++; else d[x] = 1; var ans = 0; var c = 0; foreach (var x in d.OrderByDescending(x => x.Value)) { if (c + x.Value < k) { ans++; c += x.Value; } else { Console.WriteLine(ans + 1); return; } } Console.WriteLine(ans); } }