AtCoder Beginner Contest 148
D
Brick Break
AtCoder
⌀ 85
原题
← CE →
翻译中…

Problem Statement

翻译中…

We have $N$ bricks arranged in a row from left to right.

翻译中…

The $i$-th brick from the left $(1 \leq i \leq N)$ has an integer $a_i$ written on it.

翻译中…

Among them, you can break at most $N-1$ bricks of your choice.

翻译中…

Let us say there are $K$ bricks remaining. Snuke will be satisfied if, for each integer $i$ $(1 \leq i \leq K)$, the $i$-th of those brick from the left has the integer $i$ written on it.

翻译中…

Find the minimum number of bricks you need to break to satisfy Snuke's desire. If his desire is unsatisfiable, print -1 instead.

翻译中…

Constraints

翻译中…
  • All values in input are integers.
  • $1 \leq N \leq 200000$
  • $1 \leq a_i \leq N$
翻译中…

Input

翻译中…

Input is given from Standard Input in the following format:

翻译中…

N
a_1 a_2 ... a_N

翻译中…

Output

翻译中…

Print the minimum number of bricks that need to be broken to satisfy Snuke's desire, or print -1 if his desire is unsatisfiable.

翻译中…

样例

Input #1
3
2 1 2
Output #1
1
If we break the leftmost brick, the remaining bricks have integers $1$ and $2$ written on them from left to right, in which case Snuke will be satisfied.
Input #2
3
2 2 2
Output #2
-1
In this case, there is no way to break some of the bricks to satisfy Snuke's desire.
Input #3
10
3 1 4 1 5 9 2 6 5 3
Output #3
7
Input #4
1
1
Output #4
0
There may be no need to break the bricks at all.
题目信息
题号
abc148_d
时间限制
2 s
内存限制
1024 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。