#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int a[N];
int main() {
  int t;
  cin >> t;
  int k = 0;
  int m = 0;
  for (int i = 0; i < t; i++) {
    cin >> a[i];
    if (a[i] > k) {
      k = a[i];
      m = i;
    }
  }
  int flag = 0;
  if (m == 0) {
    for (int i = 1; i < t; i++) {
      if (a[i] > a[i - 1]) {
        flag = 1;
        break;
      }
    }
  }
  if (m == t - 1) {
    for (int i = 1; i < t; i++) {
      if (a[i] < a[i - 1]) {
        flag = 1;
        break;
      }
    }
  }
  if (m != 1 && m != t - 1) {
    for (int i = 1; i < m; i++) {
      if (a[i] < a[i - 1]) {
        flag = 1;
        break;
      }
    }
    for (int i = m + 1; i < t; i++) {
      if (a[i] > a[i - 1]) {
        flag = 1;
        break;
      }
    }
  }
  if (flag == 1)
    printf("NO\n");
  else
    printf("YES\n");
  return 0;
}
