4
90 91 90 91
 4
54 54 54 55
 10
55 39 93 42 97 40 36 38 11 97
 3
90 39 98
 5
21 57 40 94 17
 8
46 4 30 85 52 6 84 13
 6
47 100 96 2 96 43
 4
61 28 3 81
 5
14 91 91 91 84
 3
22 23 24
 1
13
 9
13 80 13 38 98 85 11 73 74
 10
95 51 52 8 44 39 77 17 96 88
 3
40 40 40
 4
16 17 17 18
 3
68 67 67
 4
83 100 81 75
 9
71 71 70 70 71 70 69 70 71
 10
9 9 9 10 10 9 8 8 9 9
 6
87 86 86 86 85 86
 5
64 63 63 62 61
 3
76 9 12
 4
61 60 60 60
 7
23 37 39 8 72 31 85
 10
67 67 67 67 67 67 67 67 67 67
 4
92 18 29 93
 4
14 15 15 16
 10
79 84 22 38 23 22 33 42 13 96
 7
20 21 95 73 49 98 53
 10
28 61 23 73 61 33 45 55 18 43
 9
15 14 14 13 13 12 13 13 14
 5
46 46 47 46 45
 7
35 91 87 78 17 71 63
 3
69 26 73
 10
16 17 16 15 14 15 16 17 16 15
 9
95 7 97 61 90 7 30 65 39
 10
2 83 18 65 58 95 37 51 86 47
 6
59 59 60 60 59 58

YES YES NO NO NO NO NO NO NO YES YES NO NO YES YES YES NO YES YES YES YES NO YES NO YES NO YES NO NO NO YES YES NO NO YES NO NO YES
#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  string ans = "YES";
  priority_queue<int> pq;
  int arr[n];
  vector<priority_queue<int, vector<int>, greater<int> > > v(101);
  v[0].push(0);
  for (auto(i) = 0; i < n; i++) {
    int t;
    cin >> t;
    arr[i] = t;
    v[t].push(i);
    pq.push(t);
  }
  while (!pq.empty()) {
    int a = pq.top();
    pq.pop();
    int i = v[a].top();
    v[a].pop();
    if (i == 0) {
      int p = i + 1;
      while (arr[p] == 0 && p < n - 1) p++;
      if (arr[p] != 0 && arr[i] - arr[p] >= 2) {
        ans = "NO";
        break;
      }
    } else if (i == n - 1) {
      int p = i - 1;
      while (arr[p] == 0 && p > 0) p--;
      if (arr[p] != 0 && arr[i] - arr[p] >= 2) {
        ans = "NO";
        break;
      }
    } else {
      int p = i + 1;
      int r = i - 1;
      while (arr[p] == 0 && p < n - 1) p++;
      while (arr[r] == 0 && r > 0) r--;
      if (arr[p] != 0 && arr[i] - arr[p] >= 2) {
        ans = "NO";
        break;
      }
      if (arr[r] != 0 && arr[i] - arr[r] >= 2) {
        ans = "NO";
        break;
      }
    }
    arr[i] = 0;
  }
  cout << ans;
}
