Want to solve this problem? Login now to get access to solve the problems
The first line of input contains a single integer T, representing the number of test cases or queries to be run.
Then the test cases follow.
The first line of each test case contains a positive integer N which represents the number of elements of an array.
The Second line of each test case contains N integers denoting the elements of the array.
The third line of each test case contains a positive integer K.
For each test case, return the minimum difference between the maximum element and minimum element of the array by either increasing or decreasing elements of the array by K.
You do not need to print anything. It has already been taken care of.
1 <= T <= 5
1 <= N <= 10^5
0 <= arr[i] <= 10^5
0 <= K <= 10^5
Time limit = 1 sec
1
3
1 15 10
6
5
Arrays that can be obtained by either increasing or decreasing each elements by k are
[-5 9 4] difference between maximum and minimum is 16
[-5 9 16] difference between maximum and minimum is 21
[-5 21 16] difference between maximum and minimum is 26
[-5 21 4] difference between maximum and minimum is 26
[7 9 4] difference between maximum and minimum is 5
[7 9 16] difference between maximum and minimum is 9
[7 21 16] difference between maximum and minimum is 14
[7 21 4] difference between maximum and minimum is 17
So the minimum of all differences between maximum and minimum elements is 5. So, we need to return 5.
1
3
1 2 3
2
2