#include #include using namespace std; #define MAX 100000 void merge(int *,int, int , int ); void mergesort(int *a, int low, int high) { int mid; if (low < high) { mid=(low+high)/2; mergesort(a,low,mid); mergesort(a,mid+1,high); merge(a,low,high,mid); } return; } void merge(int *a, int low, int high, int mid) { int i, j, k, c[MAX]; i = low; k = low; j = mid + 1; while (i <= mid && j <= high) { if (a[i] < a[j]) { c[k] = a[i]; k++; i++; } else { c[k] = a[j]; k++; j++; } } while (i <= mid) { c[k] = a[i]; k++; i++; } while (j <= high) { c[k] = a[j]; k++; j++; } for (i = low; i < k; i++) { a[i] = c[i]; } } int main(int argc, char const *argv[]) { int n,arr[MAX],min,diff; cin>>n; for (size_t i = 0; i < n; i++) { cin>>arr[i]; } mergesort(arr, 0, n-1); min=abs(arr[0]-arr[1]); // for (size_t i = 0; i < n-1; i++) { // for (size_t j = i+1; j < n; j++) { // diff=abs(arr[i]-arr[j]); // if(min>diff) // min=diff; // } // } for (size_t i = 1; i < n-1; i++) { diff=abs(arr[i]-arr[i+1]); if(min>diff) min=diff; } cout<