def min_operations(test_cases):
results = []
for case in test_cases:
n, arr = case
operations = 0
for i in range(n-1):
if arr[i] % 2 != 0:
# Perform operation on i and i+1
arr[i] += 1
arr[i+1] += 1
operations += 1
# Check if all elements are even
if all(x % 2 == 0 for x in arr):
results.append(operations)
else:
results.append(-1)
return results
# Read input
import sys
input = sys.stdin.read().split()
idx = 0
t = int(input[idx])
idx +=1
test_cases = []
for _ in range(t):
n = int(input[idx])
idx +=1
arr = list(map(int, input[idx:idx+n]))
idx +=n
test_cases.append((n, arr))
# Process test cases
results = min_operations(test_cases)
# Output results
for res in results:
print(res)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | def min_operations(test_cases): results = [] for case in test_cases: n, arr = case operations = 0 for i in range(n-1): if arr[i] % 2 != 0: # Perform operation on i and i+1 arr[i] += 1 arr[i+1] += 1 operations += 1 # Check if all elements are even if all(x % 2 == 0 for x in arr): results.append(operations) else: results.append(-1) return results # Read input import sys input = sys.stdin.read().split() idx = 0 t = int(input[idx]) idx +=1 test_cases = [] for _ in range(t): n = int(input[idx]) idx +=1 arr = list(map(int, input[idx:idx+n])) idx +=n test_cases.append((n, arr)) # Process test cases results = min_operations(test_cases) # Output results for res in results: print(res) |
English