fork download
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <math.h>
  6. int partition(long long int arr[],long long int p,long long int q)
  7. {
  8. int i,j;
  9.  
  10. int x = arr[q];
  11. int tmp = 0 ;
  12. i = p-1;
  13. for(j=p;j<q;j++)
  14. {
  15. if(arr[j] <= x)
  16. {
  17. i++;
  18. tmp = arr[i];
  19. arr[i] = arr[j];
  20. arr[j] = tmp;
  21. }
  22. }
  23.  
  24. arr[q] = arr[i+1];
  25. arr[i+1] = x;
  26.  
  27. return i+1;
  28. }
  29.  
  30. void QuickSort(long long int arr[],long long int p,long long int q)
  31. {
  32. int pivot;
  33. if(p >= q)
  34. return;
  35. pivot = partition(arr,p,q);
  36. QuickSort(arr,p,pivot-1);
  37. QuickSort(arr,pivot+1,q);
  38. }
  39. int main()
  40. {
  41. int T;
  42.  
  43. scanf("%d\n",&T);
  44. long long int S[1000];
  45. long long int n;
  46. long long int i,j;
  47.  
  48. long long int diff = 0;
  49.  
  50. while(T--)
  51. {
  52. scanf("%lld",&n);
  53. for(i=0;i<n;i++)
  54. {
  55. scanf("%lld",&S[i]);
  56. }
  57.  
  58. QuickSort(S,0,n-1);
  59. diff = S[1] - S[0];
  60. for(j=2;j<n;j++)
  61. {
  62. if(abs(S[j] - S[j+1]) < diff)
  63. {
  64. diff = abs(S[j] - S[j+1]);
  65. }
  66. }
  67. printf("%lld\n",diff);
  68. }
  69.  
  70.  
  71. return 0;
  72. }
  73.  
  74.  
  75.  
Success #stdin #stdout 0s 2116KB
stdin
1
5
4 9 1 32 13
stdout
3