from collections import Counter n = int(input()) s = [int(x) for x in input().split()] groups = sorted(list(Counter(s).values()), reverse=True) res = 0 a, b = 0, len(groups) - 1 while a <= b: cur = 0 while b > a: if cur + groups[b] >= groups[a]: groups[b] -= groups[a] - cur - 1 break cur += groups[b] b -= 1 res += 1 a += 1 print(res)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from collections import Counter n = int(input()) s = [int(x) for x in input().split()] groups = sorted(list(Counter(s).values()), reverse=True) res = 0 a, b = 0, len(groups) - 1 while a <= b: cur = 0 while b > a: if cur + groups[b] >= groups[a]: groups[b] -= groups[a] - cur - 1 break cur += groups[b] b -= 1 res += 1 a += 1 print(res) |