白俊2874号ゲームを作った東俊.


質問する



インプット



solution

import sys

input = sys.stdin.readline
n = int(input())
arr = [0 for i in range(n)]
for i in range(n):
    arr[i] = int(input())
arr.reverse()
cnt = 0
for i in range(1, n):
    if arr[i] >= arr[i - 1]:
        cnt += arr[i] - (arr[i - 1] - 1)
        arr[i] = arr[i - 1] - 1
print(cnt)

説明:


反転配列がiの最初のインデックス値をi-1より大きくすると、
i 1番目の値-1を作成すると、最小値に減らすことができるため、生成されるcntには2つの値があります.
iの1番目の値をarr[i]-(arr[i-1]-1)に減らしたので、この値を格納します.
次にarr[i]にarr[i-1]-1の値を格納する.

ポスト


グリディはまだ難しい