#include <bits/stdc++.h>
using namespace std;
int N,C;
long long A[100005];
bool chk(long long dist)
{
long long last=A[0];
int cnt=1;
for(int i=1; i<N; i++){
if((A[i]-last)>=dist){
cnt++;
last=A[i];
}
}
if(cnt>=C)return true;
return false;
}
void solve()
{
cin>>N>>C;
for(int i=0; i<N; i++)cin>>A[i];
sort(A,A+N);
long long low=0; long long high = 1000000000;
int mid; int pos=0;
while(high>=low)
{
mid=(high+low)/2;
if(chk(mid)){
low=mid+1;
pos=mid;
}
else{
high = mid-1;
}
}
cout<<pos<<endl;
}
int main()
{
int T;
cin>>T;
while(T--)solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBOLEM7CmxvbmcgbG9uZyBBWzEwMDAwNV07CmJvb2wgY2hrKGxvbmcgbG9uZyBkaXN0KQp7Cglsb25nIGxvbmcgbGFzdD1BWzBdOwoJaW50IGNudD0xOwoJZm9yKGludCBpPTE7IGk8TjsgaSsrKXsKCQlpZigoQVtpXS1sYXN0KT49ZGlzdCl7CgkJCWNudCsrOwoJCQlsYXN0PUFbaV07CgkJfQoJfQoJaWYoY250Pj1DKXJldHVybiB0cnVlOwoJcmV0dXJuIGZhbHNlOwp9CnZvaWQgc29sdmUoKQp7CgljaW4+Pk4+PkM7Cglmb3IoaW50IGk9MDsgaTxOOyBpKyspY2luPj5BW2ldOwoJc29ydChBLEErTik7Cglsb25nIGxvbmcgbG93PTA7IGxvbmcgbG9uZyBoaWdoID0gMTAwMDAwMDAwMDsKCWludCBtaWQ7IGludCBwb3M9MDsKCXdoaWxlKGhpZ2g+PWxvdykKCXsKCQltaWQ9KGhpZ2grbG93KS8yOwoJCWlmKGNoayhtaWQpKXsKCQkJbG93PW1pZCsxOwoJCQlwb3M9bWlkOwoJCX0KCQllbHNlewoJCQloaWdoID0gbWlkLTE7CgkJfQoJfQoJY291dDw8cG9zPDxlbmRsOwp9CmludCBtYWluKCkKewoJaW50IFQ7CgljaW4+PlQ7Cgl3aGlsZShULS0pc29sdmUoKTsKCXJldHVybiAwOwp9