该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

比赛首尾

题目描述

乐柠兔正在准备一场程序设计比赛。

比赛共有 nn 道题,编号为 1,2,…,n1,2,\ldots,n。

每道题只有两种难度:

  • 00 表示简单题;
  • 11 表示困难题。

乐柠兔希望比赛的第一题和最后一题都为简单题。

一次操作中,他可以任选两道题并交换它们的位置。

请计算至少需要多少次交换,才能使第一题和最后一题都变成简单题。

如果无论如何都无法满足要求,输出 −1-1。

输入格式

第一行输入一个整数 TT,表示测试用例数量。

对于每组测试数据:

第一行输入一个整数 nn。

第二行输入 nn 个整数

a1,a2,…,an.a_1,a_2,\ldots,a_n.

其中:

  • ai=0a_i=0 表示第 ii 道题为简单题;
  • ai=1a_i=1 表示第 ii 道题为困难题。

输出格式

对于每组测试数据,输出一行一个整数。

如果可以使第一题和最后一题都为简单题,输出最少交换次数;否则输出 −1-1。

样例

样例输入 #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

数据范围与约定

对于 100%100\% 的数据,保证:

  • 1≤T≤1031\le T\le10^3;
  • 2≤n≤502\le n\le50;
  • 0≤ai≤10\le a_i\le1。

固定设置 2020 个测试点。

测试点编号 分值 n≤n\le 特殊性质
11-33 1515 22 无
44-66 1010 特殊性质 A
77-99 2020 特殊性质 B
1010-1212 3030 无
1313-1414 1010 4040
1515-2020 3030 5050
  • 特殊性质 A:第一题和最后一题初始均为简单题。
  • 特殊性质 B:简单题数量恰好为 22。