import  java.util.*;
class Main{     
	Scanner sc = new Scanner(System.in);   
	int n; 
	int m=-2000000000;  
	int mini;
	   
	void mp(){  
		n=sc.nextInt();
		mini=sc.nextInt();
		
		for(int i=0; i<n-1; i++){         
			int d=sc.nextInt();
		   	m=maxv(m,d-mini);        
			mini=minv(mini,d);     
		}        
		System.out.println(m); 
		}       
	
		int maxv(int a,int b){    
		if(a>b)return a;     
		else return b;     
		}       
	
		int minv(int a,int b){   
		if(a<b)return a;   
		else return b;     
		}    
	           
	public static void main(String[] args){     
		new Main().mp();     
		} 
	} import  java.util.*; util.* java class Main{     
	Scanner sc = new Scanner(System.in);   
	int n; 
	int m=-2000000000;  
	int mini;
	   
	void mp(){  
		n=sc.nextInt();
		mini=sc.nextInt();
		
		for(int i=0; i<n-1; i++){         
			int d=sc.nextInt();
		   	m=maxv(m,d-mini);        
			mini=minv(mini,d);     
		}        
		System.out.println(m); 
		}       
	
		int maxv(int a,int b){    
		if(a>b)return a;     
		else return b;     
		}       
	
		int minv(int a,int b){   
		if(a<b)return a;   
		else return b;     
		}    
	           
	public static void main(String[] args){     
		new Main().mp();     
		} 
	} Main Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n; n int m=-2000000000; m -2000000000 2000000000 int mini; mini void mp(){  
		n=sc.nextInt();
		mini=sc.nextInt();
		
		for(int i=0; i<n-1; i++){         
			int d=sc.nextInt();
		   	m=maxv(m,d-mini);        
			mini=minv(mini,d);     
		}        
		System.out.println(m); 
		} mp {  
		n=sc.nextInt();
		mini=sc.nextInt();
		
		for(int i=0; i<n-1; i++){         
			int d=sc.nextInt();
		   	m=maxv(m,d-mini);        
			mini=minv(mini,d);     
		}        
		System.out.println(m); 
		} n=sc.nextInt() n sc.nextInt() sc.nextInt sc mini=sc.nextInt() mini sc.nextInt() sc.nextInt sc for(int i=0; i<n-1; i++){         
			int d=sc.nextInt();
		   	m=maxv(m,d-mini);        
			mini=minv(mini,d);     
		} int i=0; int i=0; i 0 i<n-1 i n-1 n 1 i++ i++ i {         
			int d=sc.nextInt();
		   	m=maxv(m,d-mini);        
			mini=minv(mini,d);     
		} {         
			int d=sc.nextInt();
		   	m=maxv(m,d-mini);        
			mini=minv(mini,d);     
		} int d=sc.nextInt(); d sc.nextInt() sc.nextInt sc m=maxv(m,d-mini) m maxv(m,d-mini) maxv m d-mini d mini mini=minv(mini,d) mini minv(mini,d) minv mini d System.out.println(m) System.out.println System.out System System.out m int maxv(int a,int b){    
		if(a>b)return a;     
		else return b;     
		} maxv {    
		if(a>b)return a;     
		else return b;     
		} if(a>b)return a;     
		else return b; a>b a b return a; a return b; b int a a int b b int minv(int a,int b){   
		if(a<b)return a;   
		else return b;     
		} minv {   
		if(a<b)return a;   
		else return b;     
		} if(a<b)return a;   
		else return b; a<b a b return a; a return b; b int a a int b b public static void main(String[] args){     
		new Main().mp();     
		} main {     
		new Main().mp();     
		} new Main().mp() new Main().mp new Main() String[] args args
import  java.util.*;
class Main{     
	Scanner sc = new Scanner(System.in);   
	int n; 
	int m=-2000000000;  
	int mini;
	   
	void mp(){  
		n=sc.nextInt();
		mini=sc.nextInt();
		
		for(int i=0; i<n-1; i++){         
			int d=sc.nextInt();
		   	m=maxv(m,d-mini);        
			mini=minv(mini,d);     
		}        
		System.out.println(m); 
		}       
	
		int maxv(int a,int b){    
		if(a>b)return a;     
		else return b;     
		}       
	
		int minv(int a,int b){   
		if(a<b)return a;   
		else return b;     
		}    
	           
	public static void main(String[] args){     
		new Main().mp();     
		} 
	}