"use strict";
const main = arg => {
  let NumAmount = arg.split("\n")[0]*1;
  let row1 = arg.split("\n")[1].split(" ").map(x => x*1);
  // ansのデフォルト設定
  let ans = "Yes";
  // ループする
  // ループ用に小さい値を設定
  let pre = -1000;
  for(let i = 0; i < NumAmount; i++){
    // もしも前の方は大きいならそのまま
    if(row1[i] - 1 >= pre){
 		pre = row1[i] - 1;
    } else if(row1[i] >= pre){
      	pre = row1[i];
    } else {
    	ans = "No";
    }
  }
  console.log(ans);
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));
