先交换
题号:NC248194
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给定一个长度为 n 的数组 a,下标从 1 开始,可以进行以下操作:

  • 选择两个下标 i,j 满足 ,交换 a_i,a_j

问最少多少次操作后 a_1 为奇数。

若无论多少次操作和都无法使得 a_1 为奇数,则输出 -1。

输入描述:

每一个测试点包含多组测试数据,第一行输入一个正整数 ,表示该测试点测试数据的数量。

对于每组测试数据:

第一行输入一个正整数

第二行输入 n 个整数以空格相隔,第 i 个整数表示

输出描述:

对于每组测试数据,一行输出一个整数,表示最少的操作次数使得 a_1 为奇数,若无解则输出 -1。
示例1

输入

复制
3
3
1 2 3
2
0 1
2
2 1

输出

复制
0
-1
1