import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Main{
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
            int n = Integer.parseInt(br.readLine());
            ArrayList<Integer> array = new ArrayList<>();
            for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            }
            int max = array.get(1) - array.get(0);
            int min = array.get(0);
            for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            }

            System.out.println(max);

        }
        catch(Exception e){
            System.err.println(e);
        }


    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.ArrayList; ArrayList java.util public class Main{
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
            int n = Integer.parseInt(br.readLine());
            ArrayList<Integer> array = new ArrayList<>();
            for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            }
            int max = array.get(1) - array.get(0);
            int min = array.get(0);
            for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            }

            System.out.println(max);

        }
        catch(Exception e){
            System.err.println(e);
        }


    }
} Main public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
            int n = Integer.parseInt(br.readLine());
            ArrayList<Integer> array = new ArrayList<>();
            for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            }
            int max = array.get(1) - array.get(0);
            int min = array.get(0);
            for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            }

            System.out.println(max);

        }
        catch(Exception e){
            System.err.println(e);
        }


    } main {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
            int n = Integer.parseInt(br.readLine());
            ArrayList<Integer> array = new ArrayList<>();
            for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            }
            int max = array.get(1) - array.get(0);
            int min = array.get(0);
            for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            }

            System.out.println(max);

        }
        catch(Exception e){
            System.err.println(e);
        }


    } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) try{
            int n = Integer.parseInt(br.readLine());
            ArrayList<Integer> array = new ArrayList<>();
            for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            }
            int max = array.get(1) - array.get(0);
            int min = array.get(0);
            for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            }

            System.out.println(max);

        }
        catch(Exception e){
            System.err.println(e);
        } catch(Exception e){
            System.err.println(e);
        } Exception e {
            System.err.println(e);
        } System.err.println(e) System.err.println System.err System System.err e {
            int n = Integer.parseInt(br.readLine());
            ArrayList<Integer> array = new ArrayList<>();
            for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            }
            int max = array.get(1) - array.get(0);
            int min = array.get(0);
            for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            }

            System.out.println(max);

        } int n = Integer.parseInt(br.readLine()); n Integer.parseInt(br.readLine()) Integer.parseInt Integer br.readLine() br.readLine br ArrayList<Integer> array = new ArrayList<>(); array new ArrayList<>() for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            } int i = 0 ; int i = 0 ; i 0 i < n i n i++ i++ i {
                array.add(Integer.parseInt(br.readLine()));
            } {
                array.add(Integer.parseInt(br.readLine()));
            } array.add(Integer.parseInt(br.readLine())) array.add array Integer.parseInt(br.readLine()) Integer.parseInt Integer br.readLine() br.readLine br int max = array.get(1) - array.get(0); max array.get(1) - array.get(0) array.get(1) array.get array 1 array.get(0) array.get array 0 int min = array.get(0); min array.get(0) array.get array 0 for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            } int i = 1 ; int i = 1 ; i 1 i < n i n i++ i++ i {
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            } {
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            } if(array.get(i) - min > max){
                    max = array.get(i) - min;
                } array.get(i) - min > max array.get(i) - min array.get(i) array.get array i min max {
                    max = array.get(i) - min;
                } max = array.get(i) - min max array.get(i) - min array.get(i) array.get array i min if(array.get(i) < min){
                    min = array.get(i);
                } array.get(i) < min array.get(i) array.get array i min {
                    min = array.get(i);
                } min = array.get(i) min array.get(i) array.get array i System.out.println(max) System.out.println System.out System System.out max String[] args args public class Main{
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
            int n = Integer.parseInt(br.readLine());
            ArrayList<Integer> array = new ArrayList<>();
            for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            }
            int max = array.get(1) - array.get(0);
            int min = array.get(0);
            for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            }

            System.out.println(max);

        }
        catch(Exception e){
            System.err.println(e);
        }


    }
} public class Main{
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
            int n = Integer.parseInt(br.readLine());
            ArrayList<Integer> array = new ArrayList<>();
            for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            }
            int max = array.get(1) - array.get(0);
            int min = array.get(0);
            for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            }

            System.out.println(max);

        }
        catch(Exception e){
            System.err.println(e);
        }


    }
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Main{
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
            int n = Integer.parseInt(br.readLine());
            ArrayList<Integer> array = new ArrayList<>();
            for(int i = 0 ; i < n ; i++){
                array.add(Integer.parseInt(br.readLine()));
            }
            int max = array.get(1) - array.get(0);
            int min = array.get(0);
            for(int i = 1 ; i < n ; i++){
                if(array.get(i) - min > max){
                    max = array.get(i) - min;
                }
                if(array.get(i) < min){
                    min = array.get(i);
                }
            }

            System.out.println(max);

        }
        catch(Exception e){
            System.err.println(e);
        }


    }
}