#P1811. xor gun
xor gun
题目描述
Arkady 拥有一个非递减数组 。你因为它的美丽而感到嫉妒,想要破坏它的这个性质。你有一把所谓的 XOR-枪,可以使用一次或多次。
每一步,你可以选择数组中两个相邻的元素,记为 和 ,将它们从数组中移除,并在它们的位置插入整数 ,其中 表示按位异或运算。注意,每次操作后数组长度减少 。当数组长度为 时,不能再进行此操作。
例如,如果数组为 ,你可以选择 和 ,用 替换它们。此时数组变为 。
你希望数组不再是非递减的。请问最少需要多少步?如果无论如何操作数组都始终保持非递减,请输出 。
输入格式
第一行包含一个整数 (),表示数组的初始长度。
第二行包含 个整数 (),表示数组的元素。保证对于所有 ,都有 。
输出格式
输出一个整数,表示所需的最小操作次数。如果无解,输出 。
输入输出样例 #1
输入 #1
4
2 5 6 8
输出 #1
1
输入输出样例 #2
输入 #2
3
1 2 3
输出 #2
-1
输入输出样例 #3
输入 #3
5
1 2 4 6 20
输出 #3
2
说明/提示
在第一个样例中,你可以选择 和 ,数组变为 。
在第二个样例中,你只能得到 、 和 ,它们都是非递减的。
在第三个样例中,你可以选择 和 ,数组变为 。然后你可以选择 和 ,数组变为 ,此时数组不再是非递减的。