縦H、横Wのマス目にある Ai,j 個のブロックを、すべて同じ個数にしたい場合、最小でいくつ取り除けばいいのか、答える問題です。
提出
h, w = map(int, input().split())
num = 0
mi = 100
g = 0
for i in range(h):
a = list(map(int, input().split()))
mi = min(mi, min(a))
g += sum(a)
ans = g-h*w*mi
print(ans)
縦H、横Wを整数で入力し、h, w とします。
1列分の Ai,j をリストで取得し、最小値と合計値を取得します。
最小値と「mi」を比較して小さいほうを新しい「mi」とします。
合計値は「g」に加えていきます。
for文を終えたとき、mi にはすべての Ai,j の最小値が入っています。
すべての Ai,j が同じ数値(最小値mi)になる必要があるので、Ai,j の合計値gに「マス目×mi」を引いたものが答えになります。