n = int(input())
a = list(map(int, input().split()))
d = {}
for ai in a:
if ai in d:
d[ai] = d[ai] + 1
else:
d[ai] = 1
c = list(d.values())
c.sort(reverse=True)
st = 0
e = len(c) - 1
count = 0
sum = 0
while st < e:
if c[st] > sum + c[e]:
sum += c[e]
e -= 1
else:
count += 1
st += 1
sum = 0
if st == e:
count += 1
if sum > 0:
count += 1
if len(c) == 1:
count = 1
print(count)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | n = int(input()) a = list(map(int, input().split())) d = {} for ai in a: if ai in d: d[ai] = d[ai] + 1 else: d[ai] = 1 c = list(d.values()) c.sort(reverse=True) st = 0 e = len(c) - 1 count = 0 sum = 0 while st < e: if c[st] > sum + c[e]: sum += c[e] e -= 1 else: count += 1 st += 1 sum = 0 if st == e: count += 1 if sum > 0: count += 1 if len(c) == 1: count = 1 print(count) |
English