@@ -0,0 +1,12 @@ | |||
ns = [int(n) for n in text.split(',')] | |||
lo, *_, hi = sorted(ns) | |||
def mono_min(g): | |||
y = next(g) | |||
for x in g: | |||
if x > y: return y | |||
y = x | |||
ans1 = mono_min(sum(abs(n - m) for m in ns) for n in range(lo, hi)) | |||
range_sum = lambda n: int(n * (n + 1) / 2) | |||
ans2 = mono_min(sum(range_sum(abs(n - m)) for m in ns) for n in range(lo, hi)) |