import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();

        // 初期値を仮で最小値に
        int minv = scan.nextInt();
        // 更新できるように最大値に十分小さい値を
        int maxv = Integer.MIN_VALUE;

        for(int i=1;i<n;i++){
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        }
        System.out.println(maxv);
    }
} import java.util.Scanner; Scanner java.util public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();

        // 初期値を仮で最小値に
        int minv = scan.nextInt();
        // 更新できるように最大値に十分小さい値を
        int maxv = Integer.MIN_VALUE;

        for(int i=1;i<n;i++){
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        }
        System.out.println(maxv);
    }
} Main public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();

        // 初期値を仮で最小値に
        int minv = scan.nextInt();
        // 更新できるように最大値に十分小さい値を
        int maxv = Integer.MIN_VALUE;

        for(int i=1;i<n;i++){
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        }
        System.out.println(maxv);
    } main {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();

        // 初期値を仮で最小値に
        int minv = scan.nextInt();
        // 更新できるように最大値に十分小さい値を
        int maxv = Integer.MIN_VALUE;

        for(int i=1;i<n;i++){
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        }
        System.out.println(maxv);
    } Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int n = scan.nextInt(); n scan.nextInt() scan.nextInt scan int minv = scan.nextInt(); minv scan.nextInt() scan.nextInt scan int maxv = Integer.MIN_VALUE; maxv Integer.MIN_VALUE Integer Integer.MIN_VALUE for(int i=1;i<n;i++){
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        } int i=1; int i=1; i 1 i<n i n i++ i++ i {
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        } {
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        } int in = scan.nextInt(); in scan.nextInt() scan.nextInt scan maxv = Math.max(maxv, in-minv) maxv Math.max(maxv, in-minv) Math.max Math maxv in-minv in minv minv = Math.min(minv, in) minv Math.min(minv, in) Math.min Math minv in System.out.println(maxv) System.out.println System.out System System.out maxv String[] args args public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();

        // 初期値を仮で最小値に
        int minv = scan.nextInt();
        // 更新できるように最大値に十分小さい値を
        int maxv = Integer.MIN_VALUE;

        for(int i=1;i<n;i++){
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        }
        System.out.println(maxv);
    }
} public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();

        // 初期値を仮で最小値に
        int minv = scan.nextInt();
        // 更新できるように最大値に十分小さい値を
        int maxv = Integer.MIN_VALUE;

        for(int i=1;i<n;i++){
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        }
        System.out.println(maxv);
    }
} Main
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();

        // 初期値を仮で最小値に
        int minv = scan.nextInt();
        // 更新できるように最大値に十分小さい値を
        int maxv = Integer.MIN_VALUE;

        for(int i=1;i<n;i++){
           int in = scan.nextInt();
           // 最大値の更新
           maxv = Math.max(maxv, in-minv);
           // 最小値の更新
           minv = Math.min(minv, in);
        }
        System.out.println(maxv);
    }
}