ソースを参照

angelic

master
Roderic Day 3年前
コミット
1f608f8fbc
1個のファイルの変更12行の追加0行の削除
  1. +12
    -0
      y2021/p07.py

+ 12
- 0
y2021/p07.py ファイルの表示

@@ -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))

読み込み中…
キャンセル
保存