捣乱的神
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Rolnan有一个长度为n的数组

LiuGod每次可以指定两个相邻的数,然后将这两个数,这样整个数组的长度就会减1。

比如:现在有数组,假设LiuGod选择了5,6,那么数组就会变成

现在请问LiuGod最少需要几次操作,使得数组不再是非递减数组,即出现

注意,不能使得数组为空。

输入描述:

第一行一个整数表示数组a的长度。

第二行n个整数,输入保证

输出描述:

如果LiuGod无法达成目标,输出"-1";否则输出最少需要的操作。
示例1

输入

复制
4
2 5 6 8

输出

复制
1

说明

LiuGod选择了2,5,那么数组就会变成[2\oplus5, 6,8]=[7,6,8],因此答案为 1
示例2

输入

复制
3
1 2 3

输出

复制
-1