#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
long long *a = new long long[n + 1];
long long *pref = new long long[n + 1];
pref[0] = 0;
for (int i = 1; i <= n; i++) {
cin >> a[i];
pref[i] = pref[i - 1] + a[i];
}
const long long inf = (long long)4e18;
long long **dp = new long long*[n + 1];
for (int i = 0; i <= n; i++) {
dp[i] = new long long[n + 1];
for (int j = 0; j <= n; j++) dp[i][j] = inf;
}
dp[0][0] = 0;
for (int i = 1; i <= n; i++) {
dp[i][1] = pref[i];
}
for (int i = 1; i <= n; i++) {
for (int j = 2; j <= i; j++) {
for (int k = j - 1; k < i; k++) {
long long s = pref[i] - pref[k];
if (dp[k][j - 1] <= s) {
dp[i][j] = min(dp[i][j], s);
}
}
}
}
int ans = 1;
for (int j = 1; j <= n; j++) {
if (dp[n][j] < inf) ans = j;
}
cout << ans << '\n';
return 0;
}