n = int(input())
sequence = [int(i) for i in input().split(' ')]
result = 0
repeats = []
for number in dict.fromkeys(sequence):
count = sequence.count(number)
repeats.append([number, count])
new_repeats = repeats.copy()
while len(repeats) > 0:
max_repeats = 0
min_repeats = None
for repeat in repeats:
if repeat[1] > max_repeats:
max_repeats = repeat[1]
if min_repeats is None:
min_repeats = max_repeats
if repeat[1] < min_repeats:
min_repeats = repeat[1]
for i in range(len(repeats)):
if max_repeats == min_repeats:
result += 1
new_repeats.remove(repeats[i])
for j in range(0, len(repeats)):
if new_repeats.count(repeats[j]) != 0:
new_repeats.remove(repeats[j])
for l in range(0, repeats[j][1] - (repeats[i][1] - 1)):
new_repeats.append([repeats[j][0], 1])
break
else:
break
break
if repeats[i][1] == max_repeats:
result += 1
new_repeats.remove(repeats[i])
for l in range(max_repeats - 1):
for j in range(0, len(repeats)):
if repeats[j][1] == min_repeats and new_repeats.count(repeats[j]) != 0:
new_repeats.remove(repeats[j])
break
else:
break
else:
break
repeats = new_repeats.copy()
print(int(result))
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | n = int(input()) sequence = [int(i) for i in input().split(' ')] result = 0 repeats = [] for number in dict.fromkeys(sequence): count = sequence.count(number) repeats.append([number, count]) new_repeats = repeats.copy() while len(repeats) > 0: max_repeats = 0 min_repeats = None for repeat in repeats: if repeat[1] > max_repeats: max_repeats = repeat[1] if min_repeats is None: min_repeats = max_repeats if repeat[1] < min_repeats: min_repeats = repeat[1] for i in range(len(repeats)): if max_repeats == min_repeats: result += 1 new_repeats.remove(repeats[i]) for j in range(0, len(repeats)): if new_repeats.count(repeats[j]) != 0: new_repeats.remove(repeats[j]) for l in range(0, repeats[j][1] - (repeats[i][1] - 1)): new_repeats.append([repeats[j][0], 1]) break else: break break if repeats[i][1] == max_repeats: result += 1 new_repeats.remove(repeats[i]) for l in range(max_repeats - 1): for j in range(0, len(repeats)): if repeats[j][1] == min_repeats and new_repeats.count(repeats[j]) != 0: new_repeats.remove(repeats[j]) break else: break else: break repeats = new_repeats.copy() print(int(result)) |
English