该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
比赛首尾
题目描述
乐柠兔正在准备一场程序设计比赛。
比赛共有 道题,编号为 。
每道题只有两种难度:
- 表示简单题;
- 表示困难题。
乐柠兔希望比赛的第一题和最后一题都为简单题。
一次操作中,他可以任选两道题并交换它们的位置。
请计算至少需要多少次交换,才能使第一题和最后一题都变成简单题。
如果无论如何都无法满足要求,输出 。
输入格式
第一行输入一个整数 ,表示测试用例数量。
对于每组测试数据:
第一行输入一个整数 。
第二行输入 个整数
其中:
- 表示第 道题为简单题;
- 表示第 道题为困难题。
输出格式
对于每组测试数据,输出一行一个整数。
如果可以使第一题和最后一题都为简单题,输出最少交换次数;否则输出 。
样例
样例输入 #1
4
2
0 0
2
0 1
6
1 0 0 1 0 0
5
1 0 0 1 1
样例输出 #1
0
-1
1
2
数据范围与约定
对于 的数据,保证:
- ;
- ;
- 。
固定设置 个测试点。
| 测试点编号 | 分值 | 特殊性质 | |
|---|---|---|---|
| - | 无 | ||
| - | 特殊性质 A | ||
| - | 特殊性质 B | ||
| - | 无 | ||
| - | |||
| - |
- 特殊性质 A:第一题和最后一题初始均为简单题。
- 特殊性质 B:简单题数量恰好为 。