All checks were successful
continuous-integration/drone/push Build is passing
36 lines
804 B
Python
36 lines
804 B
Python
#!/usr/bin/env python3
|
|
from pathlib import Path
|
|
|
|
|
|
def calc_fuel_exp(crabs, h):
|
|
fuel = 0
|
|
for c in crabs:
|
|
d = abs(h - c)
|
|
fuel += d * (d + 1) // 2
|
|
return fuel
|
|
|
|
def part_1(input):
|
|
result = 0
|
|
c = [int(x) for x in input[0].strip().split(',')]
|
|
c.sort()
|
|
m = c[len(c) // 2]
|
|
result = sum([abs(m - h) for h in c])
|
|
print("Part 1 result:", result)
|
|
|
|
|
|
def part_2(input):
|
|
result = 0
|
|
c_pos = [int(x) for x in input[0].strip().split(',')]
|
|
result = calc_fuel_exp(c_pos, c_pos[0])
|
|
for i in range(min(c_pos), max(c_pos) + 1):
|
|
result = min(result, calc_fuel_exp(c_pos, i))
|
|
print("Part 2 result:", result)
|
|
|
|
|
|
input = list()
|
|
p = Path(__file__).with_name('input.txt')
|
|
with open(p) as f:
|
|
input = f.readlines()
|
|
part_1(input)
|
|
part_2(input)
|