2020: d09: ex1: add solution

This commit is contained in:
Bruno BELANYI 2020-12-09 09:10:46 +01:00
parent 074226098f
commit 5da7942d78

32
2020/d09/ex1/ex1.py Executable file
View file

@ -0,0 +1,32 @@
#!/usr/bin/env python
import itertools
import sys
from typing import List
def find_invalid(nums: List[int]) -> int:
for i in range(25, len(nums)):
num = nums[i]
found = False
for lhs, rhs in itertools.combinations(nums[i - 25 : i], 2):
if lhs + rhs == num:
found = True
break
if not found:
return num
assert False # Sanity check
def solve(raw: List[str]) -> int:
return find_invalid([int(line) for line in raw])
def main() -> None:
input = [line.strip() for line in sys.stdin.readlines()]
print(solve(input))
if __name__ == "__main__":
main()