import java.util.*;
class Main{
    int max(int a,int b){
	if(a<b)return b;
	else return a;
    }
    int min (int a,int b){
	if(a>b)return b;
	else return a;
    }
    Main(){
	Scanner sc =new Scanner(System.in);
	int a,c,d;
	a=sc.nextInt();
	d=-1000000000;
	c=sc.nextInt();
	for(int i=0;i<a-1;i++){
	    int f=sc.nextInt();
	    d=max(d,f-c);
	    c=min(c,f);
	}
	System.out.println(d);
    }
    public static void main (String[]arg){
	new Main();
    }
} import java.util.*; util.* java class Main{
    int max(int a,int b){
	if(a<b)return b;
	else return a;
    }
    int min (int a,int b){
	if(a>b)return b;
	else return a;
    }
    Main(){
	Scanner sc =new Scanner(System.in);
	int a,c,d;
	a=sc.nextInt();
	d=-1000000000;
	c=sc.nextInt();
	for(int i=0;i<a-1;i++){
	    int f=sc.nextInt();
	    d=max(d,f-c);
	    c=min(c,f);
	}
	System.out.println(d);
    }
    public static void main (String[]arg){
	new Main();
    }
} Main int max(int a,int b){
	if(a<b)return b;
	else return a;
    } max {
	if(a<b)return b;
	else return a;
    } if(a<b)return b;
	else return a; a<b a b return b; b return a; a int a a int b b int min (int a,int b){
	if(a>b)return b;
	else return a;
    } min {
	if(a>b)return b;
	else return a;
    } if(a>b)return b;
	else return a; a>b a b return b; b return a; a int a a int b b Main(){
	Scanner sc =new Scanner(System.in);
	int a,c,d;
	a=sc.nextInt();
	d=-1000000000;
	c=sc.nextInt();
	for(int i=0;i<a-1;i++){
	    int f=sc.nextInt();
	    d=max(d,f-c);
	    c=min(c,f);
	}
	System.out.println(d);
    } Main {
	Scanner sc =new Scanner(System.in);
	int a,c,d;
	a=sc.nextInt();
	d=-1000000000;
	c=sc.nextInt();
	for(int i=0;i<a-1;i++){
	    int f=sc.nextInt();
	    d=max(d,f-c);
	    c=min(c,f);
	}
	System.out.println(d);
    } Scanner sc =new Scanner(System.in); sc new Scanner(System.in) int a a c c d; d a=sc.nextInt() a sc.nextInt() sc.nextInt sc d=-1000000000 d -1000000000 1000000000 c=sc.nextInt() c sc.nextInt() sc.nextInt sc for(int i=0;i<a-1;i++){
	    int f=sc.nextInt();
	    d=max(d,f-c);
	    c=min(c,f);
	} int i=0; int i=0; i 0 i<a-1 i a-1 a 1 i++ i++ i {
	    int f=sc.nextInt();
	    d=max(d,f-c);
	    c=min(c,f);
	} {
	    int f=sc.nextInt();
	    d=max(d,f-c);
	    c=min(c,f);
	} int f=sc.nextInt(); f sc.nextInt() sc.nextInt sc d=max(d,f-c) d max(d,f-c) max d f-c f c c=min(c,f) c min(c,f) min c f System.out.println(d) System.out.println System.out System System.out d public static void main (String[]arg){
	new Main();
    } main {
	new Main();
    } new Main() String[]arg arg
import java.util.*;
class Main{
    int max(int a,int b){
	if(a<b)return b;
	else return a;
    }
    int min (int a,int b){
	if(a>b)return b;
	else return a;
    }
    Main(){
	Scanner sc =new Scanner(System.in);
	int a,c,d;
	a=sc.nextInt();
	d=-1000000000;
	c=sc.nextInt();
	for(int i=0;i<a-1;i++){
	    int f=sc.nextInt();
	    d=max(d,f-c);
	    c=min(c,f);
	}
	System.out.println(d);
    }
    public static void main (String[]arg){
	new Main();
    }
}