import java.util.*;

public class FrogRiver {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        if (n < 2 || n > 1000) {
            System.out.println("Invalid input");
            return;
        }

        int[] a = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = sc.nextInt();
        }

        // Validation: first stone must be 0, strictly increasing
        if (a[0] != 0) {
            System.out.println("Invalid input");
            return;
        }
        for (int i = 0; i < n - 1; i++) {
            if (a[i] >= a[i + 1]) {
                System.out.println("Invalid input");
                return;
            }
        }

        // DP array
        int[] dp = new int[n];
        dp[0] = 0;
        dp[1] = a[1] - a[0];

        for (int i = 2; i < n; i++) {
            int option1 = Math.max(dp[i - 1], a[i] - a[i - 1]);
            int option2 = Math.max(dp[i - 2], a[i] - a[i - 2]);
            dp[i] = Math.min(option1, option2);
        }

        System.out.println(dp[n - 1]);
    }
}