#P1148. 整理石子(stone)
整理石子(stone)
题目描述
小明有 堆石子,第 堆有 颗石子,今天小明想要整理一下自己的石子堆,将所有的石子都放在第 堆或者第 堆。
小明可以进行如下的操作,每次选择三个数字 , 满足, 并且保证第 堆石子至少有 颗石子,小明会将第 堆中拿出 颗石子,一颗放在第 堆,一颗放在第 堆。这样的操作可以进行任意多次。
现在小明想知道最少需要多少次操作可以整理好他的石子堆,如果怎么操作都无法整理好,请输出 -1。
输入格式
第一行一个数字 表示数据组数。
对于每组数据的第一行包含一个正整数 。
第二行包含 个用空格隔开的正整数 。
输出格式
行,对于每组数据,输出最小操作次数,如果无法整理,输出 -1
样例数据
1
5
1 2 2 3 6
4
样例解释
1. 选择(i,j,k)=(1,2,5), 序列变成[2,0,2,3,7]
2. 选择(i,j,k)=(1,3,4), 序列变成[3,0,0,4,7]
3. 2次选择(i,j,k)=(1,4,5), 序列变成 [5,0,0,0,9]
数据范围
对 的数据, 都是偶数
对 的数据,。
对 的数据,$3 \le n \le 10^5, 1 \le T \le 100, 1 \le a_i \le 10^9$