#include <bits/stdc++.h>
using namespace std;
int a[5005];
int f(int poc, int kon, int gle) {
  if (gle > 5005) return (int)1e5;
  if (!(poc <= kon)) return 0;
  int v1 = kon - poc + 1;
  int last = -1;
  int sum = 0;
  int mini = 1e9;
  for (int i = poc; i <= kon; i++) {
    mini = min(mini, a[i]);
    a[i]--;
    if (last == -1) last = i;
    if (a[i] == 0) {
      if (last != i) sum += f(last, i - 1, gle + 1);
      last = -1;
    }
  }
  if (last != -1) sum += f(last, kon, gle + 1);
  return min(v1, sum + 1);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n;
  cin >> n;
  int ans = n;
  int maxi = 0;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    maxi = max(maxi, a[i]);
  }
  if (maxi == 0) {
    cout << 0 << '\n';
    return 0;
  }
  int sum = 0;
  int last = -1;
  for (int i = 1; i <= n; i++) {
    if (last == -1) last = i;
    if (a[i] == 0) {
      if (last != i) sum += f(last, i - 1, 0);
      last = -1;
    }
  }
  if (last != -1) sum += f(last, n, 0);
  ans = min(ans, sum);
  cout << ans;
  return 0;
}
