#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long t,n,c;
cin>>t;
vector<long long> ans;
while(t--){
cin>>n>>c;
long long x[n];
long long mind=LLONG_MAX;
for(long long i=0;i<n;i++){
cin>>x[i];
mind=min(x[i],mind);
}
sort(x,x+n);
long long low=mind;
long long high=x[n-1]-x[0];
long long mid;
while(low < high){
mid = low+(high-low+1)/2;
long long cows=1;
long long idx=0;
for(long long i=1;i<n;i++){
if(x[i]-x[idx] >= mid) {cows++; idx=i;}
}
if(cows >= c) low=mid;
else high=mid-1;
}
ans.push_back(low);
}
for(vector<long long>::iterator it=ans.begin();it!=ans.end();it++){
cout<<*it<<endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCl7CiAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgY2luLnRpZShOVUxMKTsKICBsb25nIGxvbmcgdCxuLGM7CiAgY2luPj50OwogIHZlY3Rvcjxsb25nIGxvbmc+IGFuczsKICAKICB3aGlsZSh0LS0pewogICAgY2luPj5uPj5jOwogICAgbG9uZyBsb25nIHhbbl07CiAgICBsb25nIGxvbmcgbWluZD1MTE9OR19NQVg7CiAgICBmb3IobG9uZyBsb25nIGk9MDtpPG47aSsrKXsKICAgICAgY2luPj54W2ldOwogICAgICBtaW5kPW1pbih4W2ldLG1pbmQpOwogICAgfQogICAgc29ydCh4LHgrbik7CgogICAgbG9uZyBsb25nIGxvdz1taW5kOwogICAgbG9uZyBsb25nIGhpZ2g9eFtuLTFdLXhbMF07CiAgICBsb25nIGxvbmcgbWlkOwoKICAgIHdoaWxlKGxvdyA8IGhpZ2gpewogICAgICBtaWQgPSBsb3crKGhpZ2gtbG93KzEpLzI7CiAgICAgIGxvbmcgbG9uZyBjb3dzPTE7CiAgICAgIGxvbmcgbG9uZyBpZHg9MDsKICAgICAgZm9yKGxvbmcgbG9uZyBpPTE7aTxuO2krKyl7CiAgICAgICAgaWYoeFtpXS14W2lkeF0gPj0gbWlkKSB7Y293cysrOyBpZHg9aTt9CiAgICAgIH0KICAgICAgaWYoY293cyA+PSBjKSBsb3c9bWlkOwogICAgICBlbHNlIGhpZ2g9bWlkLTE7CiAgICB9CiAgICBhbnMucHVzaF9iYWNrKGxvdyk7CiAgfQoKICBmb3IodmVjdG9yPGxvbmcgbG9uZz46Oml0ZXJhdG9yIGl0PWFucy5iZWdpbigpO2l0IT1hbnMuZW5kKCk7aXQrKyl7CiAgICBjb3V0PDwqaXQ8PGVuZGw7CiAgfQogIHJldHVybiAwOwp9Cg==