#abc148d. [abc148_d]Brick Break
[abc148_d]Brick Break
问题描述
我们有 块砖按从左到右的顺序排列。
左起第 块砖 上写着整数 。
在这些砖中,你可以选择至多破坏 块。
假设剩下 块砖。如果对于每个整数 ,从左起的第 块砖上写着整数 ,那么 Snuke 将会满意。
找出需要破坏的最少砖块数以满足 Snuke 的愿望。如果无法满足他的愿望,则打印 -1
。
约束条件
- 输入中的所有值都是整数。
输入
输入从标准输入中给出,格式如下:
输出
打印需要破坏的最少砖块数以满足 Snuke 的愿望,如果无法满足则打印 -1
。
示例输入 1
3
2 1 2
示例输出 1
1
如果我们破坏最左边的砖块,剩下的砖块从左到右上写着整数 和 ,这样 Snuke 就会满意。
示例输入 2
3
2 2 2
示例输出 2
-1
在这种情况下,没有办法破坏一些砖块来满足 Snuke 的愿望。
示例输入 3
10
3 1 4 1 5 9 2 6 5 3
示例输出 3
7
示例输入 4
1
1
示例输出 4
0
可能根本不需要破坏砖块。