def solution(pegs): odd, even = sum_odd_even(pegs) if len(pegs) % 2 == 0: s = 2 * odd - 2 * even - pegs[-1] + pegs[0] if 2*s < 3: return [-1, -1] if s % 3 == 0: return [2*s/3, 1] else: return [2*s, 3] else: s = 2 * odd - 2 * even + pegs[-1] + pegs[0] if 2*s < 1: return [-1, -1] return [2*s, 1] def sum_odd_even(pegs): odd, even = 0, 0 for i, peg in enumerate(pegs): if i % 2 == 1: odd += peg else: even += peg return odd, even tests = [ ([4, 30, 50], [12, 1]), ([4, 17, 50], [-1, -1]), ([1, 2], [-1, -1]), ([1, 2, 3], [-1, -1]), ] for i, o in tests: result = solution(i) print (i, result == o, result, o)