AGGRCOW - Aggressive cows


Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are located along a straight line at positions x1 ... xN (0 <= xi <= 1,000,000,000).

His C (2 <= C <= N) cows don't like this barn layout and become aggressive towards each other once put into a stall. To prevent the cows from hurting each other, FJ wants to assign the cows to the stalls, such that the minimum distance between any two of them is as large as possible. What is the largest minimum distance?

Input

t – the number of test cases, then t test cases follows.
* Line 1: Two space-separated integers: N and C
* Lines 2..N+1: Line i+1 contains an integer stall location, xi

Output

For each test case output one integer: the largest minimum distance.

Example

Input:

1
5 3
1
2
8
4
9

Output:

3

Output details:

FJ can put his 3 cows in the stalls at positions 1, 4 and 8,
resulting in a minimum distance of 3.


hide comments
Li Xiaofeng: 2018-05-22 14:40:25

I believe 1-4-9 is also a valid arrangement, minimum distance is still 3.

anirudnits: 2018-05-22 07:39:21

brilliant question!

vikicoder: 2018-05-11 22:08:01

I got Runtime Error on submitting. I referred many other's solutions but still I am not able to find the error in my code. Below is the link of my code. Can someone please help me with it?

https://ideone.com/***********************see notes below***********

Edit: I got the error because of Arrays.parallelSort(). I changed it with Arrays.sort() and it worked.

Last edit: 2018-05-12 07:47:25
kapilgm: 2018-03-27 08:49:43

AC in 12th go!!
I used my own implementation of quicksort, which gave TLE.
Using qsort of stdlib.h solved my problem.

yaswanth desu: 2018-03-21 15:19:32

Hello Everyone,

I have figured out a DP solution for this problem which is working for all available test cases from spojtoolkit.
but i have got Time Limit Exceeded.

For my dp case, i used a map for the cache purpose.

Here is the code
https://ideone.com/1IC8BL

Can any one check and help me regarding how to make much more efficient to run in 2sec.

amitboss: 2018-03-16 18:54:10

good problem , 100th on spoj

prasoon_07: 2018-03-14 03:51:34

topcoder is awesome :)

kkislay20: 2018-03-12 15:14:05

This was one of the finest problems I had come across on spoj. It gave me more insights for binary search, topcoder and quora helped a lot.

zephyr_96: 2018-02-26 14:23:56

@shobit1998, It works with high=mid-1 too. Maybe there is some fault in your implementation.

shobhit1998: 2018-02-14 16:32:31

in else part of binary search why does high = mid and high = mid-1 make a difference in answer


Added by:Roman Sol
Date:2005-02-16
Time limit:2s
Source limit:10000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All
Resource:USACO February 2005 Gold Division