/*
==> Don't stop when you're tired, stop when you're done.
==> Don't forget from the river to the sea palestine will be free
--> @author: MIDORIYA_
*/
//*==============================================================
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<db> vd;
typedef vector<ld> vld;
typedef vector<bool> vb;
typedef vector<vector<ll>> vvl;
typedef vector<vector<int>> vvi;
typedef vector<pii> vii;
typedef set<int> si;
typedef set<ll> sl;
#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define endl "\n"
const ll MOD = 998244353, mod = 1e9 + 7, maxA = 1e5 + 5;
#define time cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " Secs" << endl;
//*===================>>>Fast-IO-Functions<<<=================
void fastIO()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
}
//*===================>>>File-IO-Functions<<<=================
void fileIO()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
}
//*===================>>>ONE-FOR-ALL-Function<<<==============
void OneForAll()
{
ll n;
cin >> n;
vector<ll> a(n);
for (ll &i : a)
cin >> i;
vector<ll> pref(n), suf(n), prv(n, -1), nxt(n, n + 1);
for (ll i = 0; i < n; i++)
{
if (i)
pref[i] = pref[i - 1];
pref[i] = max(pref[i], a[i]);
}
for (ll i = n - 1; i >= 0; i--)
{
if (i + 1 < n)
suf[i] = suf[i + 1];
suf[i] = max(suf[i], a[i]);
}
stack<pair<ll, ll>> st;
for (ll i = 0; i < n; i++)
{
while (st.size() and st.top().first < a[i])
st.pop();
if (st.size())
prv[i] = st.top().second;
st.push({a[i], i});
}
while (st.size())
st.pop();
for (ll i = n - 1; i >= 0; i--)
{
while (st.size() and st.top().first < a[i])
st.pop();
if (st.size())
nxt[i] = st.top().second;
st.push({a[i], i});
}
ll res = LLONG_MAX;
for (ll i = 1; i + 1 < n; i++)
{
ll p = max(0LL, prv[i]), p2 = min(n - 1, nxt[i]);
res = min(res, a[i] + pref[p] + suf[p2]);
}
cout << res;
}
int main()
{
fastIO();
fileIO();
ll tc = 1;
// cin >> tc;
while (tc--)
{
OneForAll();
}
time;
return 0;
}
LyoKPT0+IERvbid0IHN0b3Agd2hlbiB5b3UncmUgdGlyZWQsIHN0b3Agd2hlbiB5b3UncmUgZG9uZS4KPT0+IERvbid0IGZvcmdldCBmcm9tIHRoZSByaXZlciB0byB0aGUgc2VhIHBhbGVzdGluZSB3aWxsIGJlIGZyZWUgCi0tPiBAYXV0aG9yOiBNSURPUklZQV8KKi8KLy8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIGRvdWJsZSBkYjsKdHlwZWRlZiBsb25nIGRvdWJsZSBsZDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaWk7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IHBsbDsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiB2ZWN0b3I8bGw+IHZsbDsKdHlwZWRlZiB2ZWN0b3I8ZGI+IHZkOwp0eXBlZGVmIHZlY3RvcjxsZD4gdmxkOwp0eXBlZGVmIHZlY3Rvcjxib29sPiB2YjsKdHlwZWRlZiB2ZWN0b3I8dmVjdG9yPGxsPj4gdnZsOwp0eXBlZGVmIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gdnZpOwp0eXBlZGVmIHZlY3RvcjxwaWk+IHZpaTsKdHlwZWRlZiBzZXQ8aW50PiBzaTsKdHlwZWRlZiBzZXQ8bGw+IHNsOwojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSByYWxsKHgpIHgucmJlZ2luKCksIHgucmVuZCgpCiNkZWZpbmUgZW5kbCAiXG4iCmNvbnN0IGxsIE1PRCA9IDk5ODI0NDM1MywgbW9kID0gMWU5ICsgNywgbWF4QSA9IDFlNSArIDU7CiNkZWZpbmUgdGltZSBjZXJyIDw8ICJUaW1lIFRha2VuOiAiIDw8IChmbG9hdCljbG9jaygpIC8gQ0xPQ0tTX1BFUl9TRUMgPDwgIiBTZWNzIiA8PCBlbmRsOwovLyo9PT09PT09PT09PT09PT09PT09Pj4+RmFzdC1JTy1GdW5jdGlvbnM8PDw9PT09PT09PT09PT09PT09PQp2b2lkIGZhc3RJTygpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIGNvdXQudGllKG51bGxwdHIpOwp9Ci8vKj09PT09PT09PT09PT09PT09PT0+Pj5GaWxlLUlPLUZ1bmN0aW9uczw8PD09PT09PT09PT09PT09PT09CnZvaWQgZmlsZUlPKCkKewojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW4udHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKfQovLyo9PT09PT09PT09PT09PT09PT09Pj4+T05FLUZPUi1BTEwtRnVuY3Rpb248PDw9PT09PT09PT09PT09PQp2b2lkIE9uZUZvckFsbCgpCnsKICAgIGxsIG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3RvcjxsbD4gYShuKTsKICAgIGZvciAobGwgJmkgOiBhKQogICAgICAgIGNpbiA+PiBpOwogICAgdmVjdG9yPGxsPiBwcmVmKG4pLCBzdWYobiksIHBydihuLCAtMSksIG54dChuLCBuICsgMSk7CiAgICBmb3IgKGxsIGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGlmIChpKQogICAgICAgICAgICBwcmVmW2ldID0gcHJlZltpIC0gMV07CiAgICAgICAgcHJlZltpXSA9IG1heChwcmVmW2ldLCBhW2ldKTsKICAgIH0KICAgIGZvciAobGwgaSA9IG4gLSAxOyBpID49IDA7IGktLSkKICAgIHsKICAgICAgICBpZiAoaSArIDEgPCBuKQogICAgICAgICAgICBzdWZbaV0gPSBzdWZbaSArIDFdOwogICAgICAgIHN1ZltpXSA9IG1heChzdWZbaV0sIGFbaV0pOwogICAgfQogICAgc3RhY2s8cGFpcjxsbCwgbGw+PiBzdDsKICAgIGZvciAobGwgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgd2hpbGUgKHN0LnNpemUoKSBhbmQgc3QudG9wKCkuZmlyc3QgPCBhW2ldKQogICAgICAgICAgICBzdC5wb3AoKTsKICAgICAgICBpZiAoc3Quc2l6ZSgpKQogICAgICAgICAgICBwcnZbaV0gPSBzdC50b3AoKS5zZWNvbmQ7CiAgICAgICAgc3QucHVzaCh7YVtpXSwgaX0pOwogICAgfQogICAgd2hpbGUgKHN0LnNpemUoKSkKICAgICAgICBzdC5wb3AoKTsKICAgIGZvciAobGwgaSA9IG4gLSAxOyBpID49IDA7IGktLSkKICAgIHsKICAgICAgICB3aGlsZSAoc3Quc2l6ZSgpIGFuZCBzdC50b3AoKS5maXJzdCA8IGFbaV0pCiAgICAgICAgICAgIHN0LnBvcCgpOwogICAgICAgIGlmIChzdC5zaXplKCkpCiAgICAgICAgICAgIG54dFtpXSA9IHN0LnRvcCgpLnNlY29uZDsKICAgICAgICBzdC5wdXNoKHthW2ldLCBpfSk7CiAgICB9CiAgICBsbCByZXMgPSBMTE9OR19NQVg7CiAgICBmb3IgKGxsIGkgPSAxOyBpICsgMSA8IG47IGkrKykKICAgIHsKICAgICAgICBsbCBwID0gbWF4KDBMTCwgcHJ2W2ldKSwgcDIgPSBtaW4obiAtIDEsIG54dFtpXSk7CiAgICAgICAgcmVzID0gbWluKHJlcywgYVtpXSArIHByZWZbcF0gKyBzdWZbcDJdKTsKICAgIH0KICAgIGNvdXQgPDwgcmVzOwp9CmludCBtYWluKCkKewogICAgZmFzdElPKCk7CiAgICBmaWxlSU8oKTsKICAgIGxsIHRjID0gMTsKICAgIC8vIGNpbiA+PiB0YzsKICAgIHdoaWxlICh0Yy0tKQogICAgewogICAgICAgIE9uZUZvckFsbCgpOwogICAgfQogICAgdGltZTsKICAgIHJldHVybiAwOwp9