Bajtazar jest opiekunem na obozie informatycznym i umówił się z jego uczestnikami na 20:30 na grę w Ktulu. Punktualnie o 20:30 w umówionym miejscu zjawiła się liczna grupa chętnych i wygląda na to, że jest ich zbyt wielu, by wszyscy wzięli udział w jednej grze. W tej sytuacji Bajtazar postanowił podzielić uczestników na grupy.
W Ktulu chce grać
uczestników, których numerujemy od
do
.
Każdy uczestnik ma pewne preferencje dotyczące tego, jak powinna wyglądać gra w Ktulu.
Konkretnie, dla każdego uczestnika
znamy liczbę całkowitą
, która oznacza, że
uczestnik ten chciałby znaleźć się w grupie składającej się z
lub
graczy.
Bajtazar chciałby teraz sprawdzić, czy chętnych do gry da się podzielić na grupy zgodnie z ich wymaganiami, tak by każdy uczestnik należał do dokładnie jednej grupy. Jeśli jest to możliwe, Bajtazar chciałby znaleźć podział na jak największą liczbę grup. Pomóż Bajtazarowi i napisz program, który rozwiąże jego problem.
Pierwszy wiersz wejścia zawiera liczbę całkowitą
(
) oznaczającą liczbę chętnych do gry w Ktulu.
Drugi wiersz zawiera ciąg
liczb całkowitych
(
), które oznaczają
preferencje poszczególnych uczestników.
należał do grupy o rozmiarze
lub
, wypisz
maksymalną możliwą liczbę grup w takim podziale.
W przeciwnym razie, na wyjście należy wypisać
.
Dla danych wejściowych:
7 3 1 3 2 1 3 2
poprawną odpowiedzią jest:
4
Autor zadania: Adam Karczmarz.
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.