31 lines
884 B
Python
31 lines
884 B
Python
expense_report = []
|
|
|
|
with open('day1/input') as reader:
|
|
expense_report.extend([int(l) for l in reader.readlines()])
|
|
|
|
expense_report.sort()
|
|
|
|
def calc_two(sub_set, absolute):
|
|
first_i = 0
|
|
second_i = len(sub_set) - 1
|
|
first = sub_set[first_i]
|
|
second = sub_set[second_i]
|
|
|
|
while first_i < second_i and first + second + absolute != 2020:
|
|
if first + second + absolute > 2020:
|
|
second_i -= 1
|
|
second = sub_set[second_i]
|
|
else:
|
|
first_i += 1
|
|
first = sub_set[first_i]
|
|
if first_i < second_i:
|
|
return (first, second)
|
|
return None
|
|
|
|
|
|
for i in range(len(expense_report) - 1):
|
|
res = calc_two(expense_report[i+1:], expense_report[i])
|
|
if res is not None:
|
|
print(res[0], res[1], expense_report[i])
|
|
print(res[0] * res[1] * expense_report[i])
|
|
break |