[Algorithmlog]Greedy#8白準2847

472 ワード

n = int(input())
level = []
sum=0

for i in range(n) :
    level.append(int(input()))


for i in range(n-1,0,-1) :
    if level[i-1] >= level[i] :
        sub = level[i-1]-level[i] +1
        sum += sub
        level[i-1] -= sub


print(sum) 
comment
最初は、昇順でfor文を作成=>level[i-1]を変更しても機能しません.
ex)4 4 4 5修正不可
=>降順でfor文を作成するので、level[i-1]を変更すると前の数値と比較できます.
=> 5 4 5 => 3 4 5
for文を記述する際には,降順昇順ソートなど様々な問題を考慮する必要がある.