2024/day5/part1.py

19 lines
517 B
Python
Executable File

#!/usr/bin/env python
from common import condense_page_orders, get_middle_page, parse, update_is_correct
def solve(input: tuple[list[tuple[int, int]], list[tuple[int, ...]]]) -> int:
raw_page_orders, updates = input
not_before, not_after = condense_page_orders(raw_page_orders)
middle_pages = map(get_middle_page, filter(lambda u: update_is_correct(u, not_before, not_after), updates))
return sum(middle_pages)
def main():
print(solve(parse("input")))
if __name__ == "__main__":
main()