eolymp
bolt
Try our new interface for solving problems
Problems

Liars (RU)

Liars (RU)

\textbf{N} familiar people take part in a show. Some of them always lie, and the other say always truth (at least one person). At the end of the program the leader must determine to which group belongs each its participant. Для этого он задал вопрос: <<Сколько среди вас тех, кто всегда говорит правду?>>. Каждый из участников дал ответ: число от \textbf{0} до \textbf{N}. После этого ведущий может отобрать определенных людей, задать им тот же самый вопрос, и, получив ответ, гарантированно определить, кто из участников ток-шоу говорит правду, а кто лжет. Участники отвечают на второй вопрос относительно выбранных ведущим людей. Напишите программу, которая по количеству участников ток-шоу и их ответам на первый вопрос найдет минимальное количество людей, которое нужно выбрать ведущему для второго этапа опроса. \InputFile Первая строка содержит одно целое число \textbf{N }(\textbf{1 }≤ \textbf{N }≤ \textbf{1000}) - количество участников ток-шоу. Следующая строка содержит \textbf{N }целых чисел от \textbf{0 }до \textbf{N - }ответы каждого из участников на первый вопрос. \OutputFile Вывести одно целое число - искомое минимальное количество участников, которое необходимо выбрать ведущему для повторного опроса. В случае, если ведущий имеет возможность определить лжецов и тех, кто всегда говорит правду, уже после первого этапа опроса, нужно вывести число \textbf{0}.
Time limit 1 second
Memory limit 64 MiB
Input example #1
4
3 3 1 3
Output example #1
2
Author Andrey Korotkov
Source 2009 XXII All-Ukrainian Informatics Olympiad, Khmelnytskiy, March 22 - 27, Round 1