From 86cdf0c8b6eb2cb8172ebfbab35eb5572b6a5dbf Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Wed, 21 May 2025 22:26:44 +0100 Subject: [PATCH] 2015: d17: ex2: add solution --- 2015/d17/ex2/ex2.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 2015/d17/ex2/ex2.py diff --git a/2015/d17/ex2/ex2.py b/2015/d17/ex2/ex2.py new file mode 100755 index 0000000..1c1cdda --- /dev/null +++ b/2015/d17/ex2/ex2.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +import itertools +import sys + +TOTAL_EGGNOG = 150 + + +def solve(input: str) -> int: + def parse(input: str) -> list[int]: + return [int(line) for line in input.splitlines()] + + containers = parse(input) + min_containers = min( + i + for i in range(1, len(containers) + 1) + if any( + sum(combination) == TOTAL_EGGNOG + for combination in itertools.combinations(containers, i) + ) + ) + return sum( + sum(combination) == TOTAL_EGGNOG + for combination in itertools.combinations(containers, min_containers) + ) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main()