program uspon;

var
   n, i, j, rj : integer;
   p : array[0 .. 1000] of integer;

begin
   p[0] := 1001;
   readln (n);
   for i := 1 to n do read (p[i]);
   readln;
   i := 0;
   while i<n do begin
      Inc (i);
      if (p[i-1]>p[i]) and (p[i]<p[i+1]) then begin
         j := i;
         while (p[j+1]>p[j]) and (j<n) do Inc (j);
         if p[j]-p[i]>rj then rj := p[j]-p[i];
         i := j;
      end;
   end;
   writeln (rj);
end.