31 lines
644 B
Python
31 lines
644 B
Python
|
|
#!/usr/bin/env python3
|
||
|
|
import sys
|
||
|
|
from typing import Sequence
|
||
|
|
|
||
|
|
|
||
|
|
def part1(positions: Sequence[int]):
|
||
|
|
lo = min(positions)
|
||
|
|
hi = max(positions)
|
||
|
|
diffs = []
|
||
|
|
for i in range(lo, hi + 1):
|
||
|
|
diffs += [sum(abs(pos - i) for pos in positions)]
|
||
|
|
print(min(diffs))
|
||
|
|
|
||
|
|
|
||
|
|
def part2(positions: Sequence[int]):
|
||
|
|
lo = min(positions)
|
||
|
|
hi = max(positions)
|
||
|
|
diffs = []
|
||
|
|
for i in range(lo, hi + 1):
|
||
|
|
diffs += [sum(sum(range(abs(pos - i) + 1)) for pos in positions)]
|
||
|
|
|
||
|
|
print(min(diffs))
|
||
|
|
|
||
|
|
|
||
|
|
positions = list(map(int, sys.stdin.readline().strip().split(",")))
|
||
|
|
|
||
|
|
print("Part 1")
|
||
|
|
part1(positions)
|
||
|
|
print("Part 2")
|
||
|
|
part2(positions)
|