import java.io.*;

class Main
{
 
  public static void main(String[] args)
  {
    try{
    	// ??\???????????????
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      // ????????°???????????????
      int n = Integer.parseInt(br.readLine());
      int[] array = new int[n];
      int putnum = 0;
      while(true){
    	  String str = br.readLine();
    	  array[putnum] = Integer.parseInt(str);
    	  if(++putnum == n)break;
      }
      
      System.out.println(String.valueOf(getMaxNumber(array)));
 
    }catch(Exception e){
      System.out.println(e);
    }
  }
 
  public static int getMaxNumber(int array[]){
	  int maxNumber = Integer.MIN_VALUE;
	  int minNumber = array[0];
	  for(int i = 1;i < array.length;++i){
		  final int divide = array[i] - minNumber;
		  
		  if(divide > maxNumber){
			  maxNumber = divide;
		  }
		  
		  if(minNumber > array[i]){
			  minNumber = array[i];
		  }
	  }
	  return maxNumber;
  }
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz