Ограничения: время – 250ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)
Искатели приключений всегда ходят большими кампаниями, так как убить дракона или гигантского монстра
в одиночку практически невозможно. Рассказывая о своих подвигах одни герои (лгуны) всегда их приукрашивают,
а другие (правдолюбы) говорят только правду. Нельзя верить ни одному числу, сказанному лгуном.
Он может рассказать, как одним выстрелом из баллисты убил семь драконов, хотя всем известно, что драконы
не летают стаями, и у них только одно уязвимое место на брюхе, в которое очень сложно попасть.
Во время путешествий герои часто рассказывают друг другу истории и поэтому знают, сколько в их кампании
лгунов и правдолюбов.
Трактирщик решил узнать, сколько правдолюбов в кампании, зашедшей в его трактир, так как кампания, в которой
все лгуны, может удрать, не заплатив, или расплатиться фальшивой монетой. Но в результате,
опросив всех героев и получив разные числа, трактирщик не смог разобраться с этой проблемой.
Напишите программу, которая поможет трактирщику определить минимальное количество правдолюбов
в кампании, зашедшей в трактир.
В первой строке ввода находится целое число `N` (`1<=N<=100000`) -- количество искателей приключений в кампании.
Во второй строке `N` Во второй строке содержится `N` целых чисел в диапазоне от 0 до `N` -- ответы искателей приключений на вопрос трактирщика
о количестве лгунов в их кампании.
Выведите одно целое число -- минимальное количество правдолюбов или -1, если в данных есть противоречие (не
все искатели были опрошены или в опрос попали искатели из другой кампании).
```sample Пример ввода 1
2
1 1
```
```sample Пример вывода 1
0
```
```sample Пример ввода 2
2
1 2
```
```sample Пример вывода 2
1
```
```sample Пример ввода 3
2
0 2
```
```sample Пример вывода 3
-1
```
В первом примере ни один из героев не может быть правдолюбом. Если один из участников правдолюб, то он сказал правду, тогда второй лгун, который тоже сказал правильное количество лгунов, противоречие. Следовательно, оба героя лгут.\
В втором примере герой, назвавший 2, точно лгун, он мог назвать это число, если другой герой правдолюб и его ответ подтверждает результат.\
В третьем примере не может говорить правду ни первый, ни второй герой, так как при этом получается противоречие. Оба герои не могут быть и лгунами, так как при этом получилось бы, что второй герой сказал правду.
*Система оценки и описание подзадач*
||.u|Подзадача 1 (50 баллов)||
`N<=100`.
||.u|Подзадача 2 (50 баллов)||
Необходимые подзадачи: 1
`N<=100000`
Баллы за каждую из подзадач начисляются только в случае, если все тесты для этой подзадачи успешно пройдены.
По запросу сообщается о первой ошибке в тестах подзадачи.