38 lines
827 B
Python

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)