#548. 排排队
排排队
排排队
题目描述
这次又轮到你来让学生列队了,与之前相反,今天你想制造一点不规律。
可惜的是,今天 名学生已经按照从矮到高排队排好了。
于是今天你想试试新魔法,每次选择两个相邻的人,把他们合并成一个连体人,并且连体人的身高是合并前两个人身高的按位异或结果。
你希望用最少魔法次数破坏整个队列的不降,即存在一个人比他后面的人高。
输入格式
本题采用多测。
第一行一个正整数 表示数据组数。
对于每组测试数据:
第一行一个整数 ,表示学生个数。
接下来一行 个整数 ,表示每个学生的初始身高。
输出格式
对于每组测试数据,输出一个正整数,表示破坏队列不降需要的最少魔法次数,如果无论如何都达不到,输出 即可。
样例
Input 1
1
4
2 5 6 8
Output 1
1
Input 2
2
5
1 2 4 6 20
3
1 2 3
Output 2
2
-1
提示说明
- 对于 的数据,$\sum n\le 2\times 10^5,2\leq n\leq 10^5,a_i\le 10^9,\forall i\in [1,n), a_i\le a_{i+1}$。
Constraints
| 子任务 | 特殊性质 | 分值 | |
|---|---|---|---|
| N/A | |||
| 全相等 | |||
| ,即每个人初始身高为 的幂次 | |||
| N/A |
Related
In following contests: