From 6578f5c5b7168cadcdb87ab6cc82f477cf7b1769 Mon Sep 17 00:00:00 2001 From: Ben Charlton Date: Wed, 9 Dec 2020 18:31:21 +0000 Subject: [PATCH] day 9 --- 09/09.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 09/09.py diff --git a/09/09.py b/09/09.py new file mode 100644 index 0000000..0d6dd57 --- /dev/null +++ b/09/09.py @@ -0,0 +1,40 @@ +#!/usr/bin/python3 + +import sys +import itertools + +def testvalid(numbers, i): + for a, b in itertools.combinations(numbers, 2): + if a + b == i: + #print('ok: ',a,b,) + return True + return False + +def findcontig(numbers, i): + for start in range(len(numbers)-1): + c = 0 + for end in range(start, len(numbers)): + c = c + numbers[end] + if c == i: + return sorted(numbers[start:end+1]) + return None + +preamble = 25 +numbers = [] +allnum = [] +bad = None + +for line in sys.stdin: + i = int(line.rstrip()) + if len(numbers) >= preamble: + if not testvalid(numbers, i): + bad = i + numbers.pop(0) + + numbers.append(i) + allnum.append(i) + +print(1, bad) + +cont = findcontig(allnum, bad) +print(2,cont[0] + cont[-1]) \ No newline at end of file