#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 1e5 +5;
long long n,res=0, a[MaxN];
stack<long long> st;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n;
long long mx = LLONG_MIN;
for (long long i=1; i<=n ;i++)
{
cin >> a[i];
vector<long long> vt;
while(!st.empty()&&a[i]>a[st.top()])
{
vt.push_back(a[st.top()]);
st.pop();
}
vt.push_back(a[i]);
st.push(i);
for (long long i=0; i<vt.size()-1; i++)
{
res+=vt[i+1]-vt[i];
}
mx=max(mx,a[i]);
}
vector<long long> vt;
while(!st.empty()&&mx>a[st.top()])
{
vt.push_back(a[st.top()]);
st.pop();
}
vt.push_back(mx);
for (long long i=0; i<vt.size()-1; i++)
{
res+=vt[i+1]-vt[i];
}
cout << res;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSAxZTUgKzU7CmxvbmcgbG9uZyBuLHJlcz0wLCBhW01heE5dOwpzdGFjazxsb25nIGxvbmc+IHN0OwppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgY2luID4+IG47CiAgICBsb25nIGxvbmcgbXggPSBMTE9OR19NSU47CiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PW4gO2krKykKICAgIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgICAgICB2ZWN0b3I8bG9uZyBsb25nPiB2dDsKICAgICAgICB3aGlsZSghc3QuZW1wdHkoKSYmYVtpXT5hW3N0LnRvcCgpXSkKICAgICAgICB7CiAgICAgICAgICAgIHZ0LnB1c2hfYmFjayhhW3N0LnRvcCgpXSk7CiAgICAgICAgICAgIHN0LnBvcCgpOwogICAgICAgIH0KICAgICAgICB2dC5wdXNoX2JhY2soYVtpXSk7CiAgICAgICAgc3QucHVzaChpKTsKICAgICAgICBmb3IgKGxvbmcgbG9uZyBpPTA7IGk8dnQuc2l6ZSgpLTE7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIHJlcys9dnRbaSsxXS12dFtpXTsKICAgICAgICB9CiAgICAgICAgbXg9bWF4KG14LGFbaV0pOwogICAgfQogICAgdmVjdG9yPGxvbmcgbG9uZz4gdnQ7CiAgICAgd2hpbGUoIXN0LmVtcHR5KCkmJm14PmFbc3QudG9wKCldKQogICAgewogICAgICAgIHZ0LnB1c2hfYmFjayhhW3N0LnRvcCgpXSk7CiAgICAgICAgc3QucG9wKCk7CiAgICB9CiAgICB2dC5wdXNoX2JhY2sobXgpOwogICAgZm9yIChsb25nIGxvbmcgaT0wOyBpPHZ0LnNpemUoKS0xOyBpKyspCiAgICB7CiAgICAgICAgcmVzKz12dFtpKzFdLXZ0W2ldOwoKICAgIH0KICAgIGNvdXQgPDwgcmVzOwoKfQo=