Minimize the maximum difference between adjacent elements in an array

Posted: 24 Nov, 2020
Difficulty: Easy

PROBLEM STATEMENT

You are given a non-decreasing array and an integer K. You need to remove exactly K integers from the given array such that the maximum difference between adjacent elements is minimum.

For example:
``````If the given array is: [2 6 7 7 10] and K = 2. We need to remove A[0] = 2 and A[4] = 10, then the resultant array would become [6 7 7], where the difference between adjacent pairs are {1, 0}. Thus our answer would be 1. You can see that there would not be any better answer than 1 for this array
``````
Input Format:
``````The first line of input contains a single integer T, representing the number of test cases or queries to be run.

Then the T test cases follow.

The first line of each test case contains two space-separated integers N and K representing the length of the array and the number of integers to be removed.

The second line of each test case contains N space-separated integers denoting the elements of the given array.
``````
Output Format:
``````For each test case, print the maximum difference between adjacent elements is minimum after K integers are removed, in a separate line.
``````
Constraints:
``````1 ≤ T ≤ 100
3 ≤ N ≤ 1000
1 ≤ Ai ≤ 10^6
0 ≤ K ≤ N - 2

Time Limit : 1 sec
``````
Note:
``````You are not required to print the expected output, it has already been taken care of. Just implement the function.
``````