rt
#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read()
{
char ch=getchar();
int f=1,x=0;
while(!isdigit(ch)){if(ch=='-')f=-f;ch=getchar();}
while(isdigit(ch))x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
return x*f;
}
inline void _write(int x)
{
if(x>9)_write(x/10);
putchar((x%10)+'0');
}
inline void write(int x,short f=0)
{
if(x<0)putchar('-'),x=-x;
_write(x);
if(f!=0)putchar(char(f));
}
int n,a[1000005],mxx[1000005];
signed main()
{
int ans=-9e18;
n=read();
for(int i=1;i<=n;i++)
a[i]=read();
mxx[n]=a[n];
for(int i=n-1;i>=1;i--)
mxx[i]=max(a[i],mxx[i+1]);
for(int i=1;i<=n;i++)
ans=max(ans,mxx[i+1]-a[i]);
write(ans);
return 0;
}