using System;
using System.Collections.Generic;
public class Example
{
public static int minElementsToBeDelete(int[] arr) {
Dictionary<int, int> frequency = new Dictionary<int, int>();
int size = arr.Length;
for (int i = 0; i < size; i++) {
if (frequency.ContainsKey(arr[i])) {
frequency[arr[i]] = frequency[arr[i]] + 1;
}
else {
frequency[arr[i]] = 1;
}
}
int max_frequency = int.MinValue;
foreach (int i in frequency.Keys) {
max_frequency = Math.Max(max_frequency, frequency[i]);
}
return size - max_frequency;
}
public static void Main(string[] args) {
int[] arr = new int[] {3, 5, 3, 8, 3, 3, 9, 3, 2, 2};
Console.WriteLine(minElementsToBeDelete(arr));
}
}
/*
run:
5
*/