#include <bits/stdc++.h>
using namespace std;
const int MXN = 1e6 + 10;
int n, c, Mx, A[MXN];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &A[n - i - 1]);
  }
  for (int i = 0; i < n; i++) {
    if (Mx == 0) {
      c++;
    }
    Mx = max(Mx, A[i] + 1);
    Mx--;
    Mx = max(Mx, 0);
  }
  printf("%d", c);
  return (0);
}
