13.py
1 from lib import * 2 3 input = read_input(2020, 13) 4 5 lines = input.splitlines() 6 7 target = int(lines[0]) 8 nums = [int(n) for n in lines[1].split(",") if n != "x"] 9 t, n = min([((target // n + 1) * n - target, n) for n in nums]) 10 print(t * n) 11 12 13 nums = lines[1].split(",") 14 n = [] 15 a = [] 16 for i, x in enumerate(nums): 17 if x == "x": 18 continue 19 x = int(x) 20 n.append(x) 21 a.append(x - i) 22 23 print(chinese_remainder(n, a))