【ABC176 C】「Step」を解く【Python3】

「AtCoder」解説一覧へ

1列に並んだN人が、すべて「踏み台を込めて身長を比較したとき、自分より前に、自分より背が高い人が存在しない」条件を満たすための踏み台の高さの合計の最小値を求める問題です。

提出
n = int(input())
a = list(map(int, input().split()))
t = 0
ans = 0

for i in range(n):
    if t > a[i]:
        ans += t - a[i]
    else:
        t = a[i]

print(ans)

入力はすべて整数です。

それぞれの身長をリストにし、自分より高い人が前にいるかどうかを調べます。

判定するa[i]の身長が、基準となる身長「t」より小さければ、踏み台を用意し、「t」より大きければ、a[i]が基準となる身長「t」になります。

最終的に踏み台の高さの合計を出力します。

【ABC176】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です