Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Różne litery
(rozne-litery)
Limit pamięci: 32 MB
Limit czasu: 1.00 s

Jasio napisał swoim długopisem długi napis na pasku papieru. Nie spodobał mu się jednak ten napis, bo zawiera on zbyt wiele różnych liter. Chciałby zmazać niektóre litery z tego napisu, aby liczba różnych liter zmalała. Nie chce jednak zmazywać zbyt wielu liter, bo prawdę mówiąc jest dość leniwy.

Dokładniej, dla każdej liczby różnych liter d, które Jasio dopuszcza w napisie, chciałby wiedzieć ile minimalnie liter należy zmazać z ciągu, aby zawierał on co najwyżej d różnych liter.

Napisz program, który: wczyta napis Jasia, wyznaczy dla każdej dopuszczalnej liczby różnych liter w ciągu liczbę liter niezbędnych do usunięcia i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym (jedynym) wierszu wejścia znajduje się niepusty napis Jasia złożony z małych liter alfabetu angielskiego.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinien się znaleźć ciąg liczb całkowitych Ri pooddzielanych pojedynczymi odstępami – i-ta liczba powinna określać minimalną liczbę liter do usunięcia, aby napis składał się z co najwyżej i różnych liter. Wypisany ciąg ma kończyć się dokładnie jednym zerem.

Ograniczenia

Długość napisu na wejściu nie przekracza 500 000 znaków.

Przykład

Wejście Wyjście
asdasda
4 2 0