MathLabs

第5問

nn 人が円形に座っている。合計 nknk 枚の硬貨が必ずしも均等でなく配られている。1回の操作では隣り合う二人の間で硬貨1枚を移す。全員の硬貨枚数を等しくする最小操作回数のアルゴリズムを求めよ。
ステップ 4/5: 前缀和が零の場合を扱う
dj≥0,d1+⋯+dj−1<0d_j\ge0,\qquad d_1+\cdots+d_{j-1}<0
詳しい解説

前縁和が零の場合、dj≥0d_j\ge0 となる最初の j>i+1j>i+1 を取る。総和が零なので存在する。人 jj から j−1j-1 へ移すと、j−1j-1 までの負の前縁和が零に近づき、XX は1減る。 jj d1≥0d_1\ge0