def func(n,nums):
    boundary = 0
    end = 0
    t = 0
    for i in range(n-1):
        boundary = max(boundary, nums[i] + i)
        if boundary == i:
            return -1
        if end == i:
            end = boundary
            t += 1
    return t

n = int(input())
nums = list(map(int, input().split()))
print(func(n,nums))