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) |