#AT1236. 破坏砖块

破坏砖块

题目描述

我们有 NN 个砖块从左至右排成一排。
左边第 ii 块砖上写着 aia_{i}1iN1\le i\le N )。
你最多可以打破 N1N-1 块砖。
假设现在还留下了 KK 块砖,
对于每个整数 ii1iK1\le i \le K ), 如果从左数第 ii 个上的数字恰好等于 ii ,那么 Snuke 就会满意。
寻找最小的打破砖的个数,使满足 Snuke 的愿望。
如果不能,输出 1-1

输入

第一行一个整数NN

第二行一共NN个整数

输出

输出最少需要打碎的砖块数以满足 Snuke 要求,如果无法满足他的要求,则输出 -1。

3
2 1 2
1

样例解释

如果我们打碎最左侧的砖块,剩下的砖块上写着整数 1和 2,这时 Snuke 就会满意。

3
2 2 2
-1

样例解释

在这种情况下,无论如何都无法打破一些砖块来满足 Snuke 的要求。

10
3 1 4 1 5 9 2 6 5 3
7
1
1
0

提示

  • 1  N  200000 1\ \leq\ N\ \leq\ 200000
  • 1  ai  N 1\ \leq\ a_i\ \leq\ N