#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#define int long long
#define itachi ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
const int MAXN = 2005;
int n;
int a[MAXN];
int pref[MAXN];
int val[MAXN][MAXN];
inline int getSum(int l, int r){
return pref[r] - pref[l - 1];
}
signed main() {
itachi
cin >> n;
for(int i = 1; i <= n; i++){
cin >> a[i];
pref[i] = pref[i - 1] + a[i];
val[i][i] = a[i];
}
for(int len = 2; len <= n; len++){
for(int l = 1; l + len - 1 <= n; l++){
int r = l + len - 1;
int lo = l, hi = r - 1;
while(lo < hi){
int mid = (lo + hi) >> 1;
if(val[l][mid] < val[mid + 1][r]) lo = mid + 1;
else hi = mid;
}
int best = -1;
for(int m = max(l, lo - 1); m <= min(r - 1, lo); m++){
best = max(best, min(val[l][m], val[m + 1][r]));
}
val[l][r] = getSum(l, r) + best;
}
}
cout << val[1][n] - getSum(1, n) << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNwcmFnbWEgR0NDIG9wdGltaXplKCJPMyx1bnJvbGwtbG9vcHMiKQojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBpdGFjaGkgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApOwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNQVhOID0gMjAwNTsKCmludCBuOwppbnQgYVtNQVhOXTsKaW50IHByZWZbTUFYTl07CmludCB2YWxbTUFYTl1bTUFYTl07CgppbmxpbmUgaW50IGdldFN1bShpbnQgbCwgaW50IHIpewogICAgcmV0dXJuIHByZWZbcl0gLSBwcmVmW2wgLSAxXTsKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBpdGFjaGkKCiAgICBjaW4gPj4gbjsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgICAgICBwcmVmW2ldID0gcHJlZltpIC0gMV0gKyBhW2ldOwogICAgICAgIHZhbFtpXVtpXSA9IGFbaV07CiAgICB9CgogICAgZm9yKGludCBsZW4gPSAyOyBsZW4gPD0gbjsgbGVuKyspewogICAgICAgIGZvcihpbnQgbCA9IDE7IGwgKyBsZW4gLSAxIDw9IG47IGwrKyl7CiAgICAgICAgICAgIGludCByID0gbCArIGxlbiAtIDE7CgogICAgICAgICAgICBpbnQgbG8gPSBsLCBoaSA9IHIgLSAxOwogICAgICAgICAgICB3aGlsZShsbyA8IGhpKXsKICAgICAgICAgICAgICAgIGludCBtaWQgPSAobG8gKyBoaSkgPj4gMTsKICAgICAgICAgICAgICAgIGlmKHZhbFtsXVttaWRdIDwgdmFsW21pZCArIDFdW3JdKSBsbyA9IG1pZCArIDE7CiAgICAgICAgICAgICAgICBlbHNlIGhpID0gbWlkOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpbnQgYmVzdCA9IC0xOwogICAgICAgICAgICBmb3IoaW50IG0gPSBtYXgobCwgbG8gLSAxKTsgbSA8PSBtaW4ociAtIDEsIGxvKTsgbSsrKXsKICAgICAgICAgICAgICAgIGJlc3QgPSBtYXgoYmVzdCwgbWluKHZhbFtsXVttXSwgdmFsW20gKyAxXVtyXSkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YWxbbF1bcl0gPSBnZXRTdW0obCwgcikgKyBiZXN0OwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IHZhbFsxXVtuXSAtIGdldFN1bSgxLCBuKSA8PCAnXG4nOwogICAgcmV0dXJuIDA7Cn0=