adventofcode2020/9/9.py

41 lines
724 B
Python
Raw Normal View History

2021-01-03 16:27:16 -05:00
#!/usr/bin/env python3
from random import randrange
import sys
L = []
with open(sys.argv[1], 'r') as f:
L = f.readlines()
L = [int(x.strip()) for x in L]
def validsum(L, n):
for i in L:
for ii in L:
if i + ii == n:
return True
return False
# part 1
p = 25
ans = 0
for i in range(len(L)):
if i < p:
continue
if not validsum(L[i-p:i], L[i]):
print(L[i])
ans = L[i]
break
# part 2
for i in range(len(L)):
nums = [L[i]]
for ii in L[i+1:]:
nums.append(ii)
if sum(nums) == ans:
nums.sort()
print(nums[0] + nums[-1])
sys.exit(0)
elif sum(nums) > ans:
break