#include <bits/stdc++.h>
using namespace std;
const int N = 3002;
int dp[N][N], a[N], n;

int main(int argc, char const *argv[])
{
  scanf("%d", &n);
  for (int i = 0; i < n; ++i)
  {
    scanf("%d", a+i);
    dp[0][i] = 1;
  }
  for (int i = 1; i < n; ++i)
  {
    int sum_cur = 0;
    int sum_prev = 0;
    int x = i;
    int dpp = 0;
    for (int j = i; j < n; ++j)
    {
      sum_cur += a[j];

      dp[i][j] = dpp;
      while (x)    // monotonic property 
      {
        if (sum_prev + a[x - 1] > sum_cur) break;
        sum_prev += a[--x];
        dp[i][j] = max(dp[x][i-1] + 1, dp[i][j]);
      }
      dpp = dp[i][j];
    }
  }

  // for (int i = 0; i < n; ++i) {
  //   for (int j = 0; j < n; ++j)
  //     printf("%d ", dp[i][j]);
  //   puts("");
  // }

  int ans = 0;
  for (int i = 0; i < n; ++i)
    ans = max(ans, dp[i][n-1]);
  printf("%d\n", ans);

  return 0;
}