using System.Numerics; public class Program { public static void Main() { //BigInteger num = BigInteger.Parse(Console.ReadLine() ?? string.Empty); //int num = int.Parse(Console.ReadLine() ?? string.Empty); string[] moji = (Console.ReadLine() ?? string.Empty).Trim().Split(' '); string[] moji2 = (Console.ReadLine() ?? string.Empty).Trim().Split(' '); //string str = Console.ReadLine() ?? string.Empty; int card =int.Parse(moji[0]); int get = int.Parse(moji[1]); int[] ints = new int[card]; for(int i =0; i < card; i++) { ints[int.Parse(moji2[i])-1]++; } Array.Sort(ints); int count = 0; for(int i = ints.Length-1;i >= 0;i--) { count++; get-=ints[i]; if(get <= 0) { break; } } Console.WriteLine(count); } }