from collections import Counter
import time
def solution(n, znaczki):
ilosci = Counter(znaczki)
wystapienia = Counter(ilosci.values())
max_znaczkow = [0] * (n + 1)
for liczba_znaczkow, ile_razy in wystapienia.items():
for dzielnik in range(1, liczba_znaczkow + 1):
max_znaczkow[dzielnik] += dzielnik * (liczba_znaczkow//dzielnik) * ile_razy
return " ".join(map(str, max_znaczkow[1:]))
if __name__ == "__main__":
n = int(input())
arr = list(map(int, input().split()))
print(solution(n, arr))
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | from collections import Counter import time def solution(n, znaczki): ilosci = Counter(znaczki) wystapienia = Counter(ilosci.values()) max_znaczkow = [0] * (n + 1) for liczba_znaczkow, ile_razy in wystapienia.items(): for dzielnik in range(1, liczba_znaczkow + 1): max_znaczkow[dzielnik] += dzielnik * (liczba_znaczkow//dzielnik) * ile_razy return " ".join(map(str, max_znaczkow[1:])) if __name__ == "__main__": n = int(input()) arr = list(map(int, input().split())) print(solution(n, arr)) |
English