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))