n = int(input()) a = list(map(int, input().split())) if not a: print("Yes") exit() max_a = max(a) if max_a == 0: print("Yes") exit() max_m = 0 for i in range(n): left = a[i-1] if i > 0 else 0 right = a[i+1] if i < n-1 else 0 max_neighbor = max(left, right) if max_neighbor < a[i]: current_m = min(a[i], max_neighbor + 1) if current_m > max_m: max_m = current_m print("Yes" if max_m >= max_a else "No")