#include
using namespace std;
struct B{
int h;
int l;
int r;
};
int main() {
long int n;
B a[100000];
a[0].l=0;
cin>>n;
a[n-1].r=0;
cin>>a[0].h;
for(int i=1 ; i<n ; i++)
{
cin>>a[i].h;
//leftmost highest
if(a[i-1].h<a[i-1].l)
{
a[i].l=a[i-1].l;
}
else
{
a[i].l=a[i-1].h;
}
}
//rightmost highest
for(int i=n-2; i>-1; i--)
{
if(a[i+1].h>a[i+1].r)
{a[i].r=a[i+1].h;}
else
{a[i].r=a[i+1].r;}
}
// water on top of each building
int sum=0,w=0;
for(int i=0 ; i<n ; i++)
{
w=min(a[i].l,a[i].r)-a[i].h;
if(w>0)
{
sum+=w;
}
}
cout<<sum;
return 0;
}