CODE
import java.util.Arrays;
import java.util.Scanner;
//错题原因,max值所在的数组也可能是b组
//解题思路如下:
//我们假设max(a)为x,min(b)为y.求解|x - y|就是要使得x和y的相对距离最小
//该数组中的元素被分到a和b两个数组中,x和y分别位于这两个数组中
//对于数组来讲,将其排序,相邻元素之间的相对距离一定是最小的,即:答案为数组排序后所有相邻元素差值的最小值
//
//我们考虑这样的做法是否是满足题意的
//假设对于排序后随意一组相邻的两个元素,左边的元素设为l,右边的元素为r
//因为数组有序,因此l左边的元素均不大于l,于是我们可以将l以及l左边的元素视为a组
//同理,r右边的元素都不小于r,我们将r以及r右边的元素视为b组即可
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int [] a = new int [n];
for(int i = 0; i < n; i ++) a[i] = sc.nextInt();
Arrays.sort(a);
int res = 2_000_000_000;
for(int i = 0; i < n - 1; i ++){
res = Math.min(a[i + 1] - a[i], res);
}
System.out.println(res);
}
}