11322. Цеглини


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

У нас \(N\) цеглин, які розташовані в ряд зліва направо. На \(i\)-й цеглині (\(1 \leq i \leq N\)) написано ціле число \(a_i\). Серед них ви можете розбити щонайбільше \(N-1\) цеглину на ваш вибір. Припустимо, залишилися \(K\) цеглин. Степан буде задоволений, якщо для кожного цілого числа \(i\) (\(1 \leq i \leq K\)) на \(i\)-й з цих цеглинок буде записане ціле число \(i\).

Знайдіть мінімальну кількість цеглин, які потрібно розбити, щоб задовольнити бажання Степана. Якщо його бажання не задовольняється, то виведіть -1.

Формат вхідних даних

Перший рядок містить ціле число \(N\) (\(1 \le N \le 2 \times 10^5\))

Наступні  \(N\) рядків містять цілі числа \(a_i\) (\(1 \le a_i \le N\))

Формат вихідних даних

У вихідний потік виведіть шукану мінімальну кількість або -1.

Примітка

До прикладу 1:

Якщо ми розірвемо крайню ліву цеглинку, на решті цеглинок зліва направо будуть записані цілі числа 1 і 2, і в цьому випадку Степан буде задоволений.

Приклад вхідних даних

3
2 1 2

Приклад вихідних даних

1

Приклад вхідних даних

3
2 2 2

Приклад вихідних даних

-1

Приклад вхідних даних

1
1

Приклад вихідних даних

0

Коментарі

Ще немає коментарів.