#include <iostream>

using namespace std;

int n;
int l[1001];
int dp[1001];

int main()
{
    cin >> n;
    for(int i=1; i<=n; i++) {
        cin >> l[i];
    }

    dp[1] = 0;
    for(int G=2; G<=n; G++) {
        dp[G] = 1000000000; //vegtelen
        for(int K=1; K<G; K++) {
            dp[G] = min (dp[G],l[K]+max(dp[K],dp[G-K]));
        }
    }

    cout << dp[n] << endl;

    return 0;
}
