program uspon;
var put:array[1..1000] of integer;
    n,i,min,max,raz:integer;

begin
 readln(n);
 for i:=1 to n do read(put[i]);

 min:=put[1];
 max:=put[1];
 for i:=2 to n do begin
  if put[i]>max then
   max:=put[i]
  else
  if (put[i]<=max) then begin
   if max-min>raz then
    raz:=max-min;
   min:=put[i];
   max:=put[i];
  end;

  if (i=n) and (min<max) then begin
   if max-min>raz then
    raz:=max-min;
  end;
 end;

 writeln(raz);
end.
