#include #define F(i,n) for(int i = 0;i < n;i++) #define N 1000001 void x(const int a[],int a_c[],int n){for(int i = 0;i < n;i++) a_c[i] = a[i];} int y(const int a[],int n){int min,nb;min = a[0]; nb = 0;for(int i = 0;i < n;i++){if(min > a[i]) {min = a[i]; nb = i;}}return(nb);} void z(const int a[],int b[],int n){int nb;int tmp[n];x(a,tmp,n);for(int i = 0;i < n;i++){nb = y(tmp,n);b[i] = tmp[nb];tmp[nb] = N;}} int main(void){ int n,t,r=N; scanf("%d",&n); int a[n]; F(i,n)scanf("%d",&a[i]); z(a,a,n); F(i,n){ if(i==n-1)break; t=a[i]-a[i+1]; if(t!=0){ if(t<0)t*=-1; if(r>t){ r=t; } } } if(r==N)r=0; printf("%d",r); return 0; }