import java.util.*;
import java.io.*;
import static java.
lang.
Math.
max; import static java.
lang.
Math.
min; class Main
{
static class FastReader {
public FastReader() {
}
while (st == null || !st.hasMoreTokens()) {
try {
e.printStackTrace();
}
}
return st.nextToken();
}
int nextInt() {
}
long nextLong() {
return Long.
parseLong(next
()); }
double nextDouble() {
return Double.
parseDouble(next
()); }
try {
str = br.readLine().trim();
e.printStackTrace();
}
return str;
}
}
static class FastWriter {
public FastWriter() {
}
bw.append("" + object);
}
print(object);
bw.append("\n");
}
bw.close();
}
}
{
try {
FastReader fin = new FastReader();
FastWriter fout = new FastWriter();
int t = fin.nextInt();
while(t-- > 0) {
int n = fin.nextInt();
int cows = fin.nextInt();
long[] barns = new long[n];
long maxCordinate
= Long.
MIN_VALUE; long minCordinate
= Long.
MAX_VALUE; for (int i = 0; i < n; i++) {
barns[i] = fin.nextLong();
maxCordinate = max(maxCordinate, barns[i]);
minCordinate = min(minCordinate,barns[i]);
}
long start = 1;
long end = maxCordinate - minCordinate;
while(start <= end) {
long mid = (end-start)/2 + start;
if(canWePlaceCows(mid,cows,barns)){
start =mid+1;
}
else {
end = mid-1;
}
}
fout.println(end);
}
fout.close();
e.printStackTrace();
return;
}
}
private static boolean canWePlaceCows(long mid, int cows, long[] barns) {
int currentCntCows = 1;
long lastCow = barns[0];
for(int i = 1;i<barns.length;i++){
if(barns[i]-lastCow >= mid){
currentCntCows++;
lastCow = barns[i];
}
if(currentCntCows == cows){
return true;
}
}
return false;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwppbXBvcnQgc3RhdGljIGphdmEubGFuZy5NYXRoLm1heDsKaW1wb3J0IHN0YXRpYyBqYXZhLmxhbmcuTWF0aC5taW47CmNsYXNzIE1haW4KewoJc3RhdGljIGNsYXNzIEZhc3RSZWFkZXIgewogICAgICAgIEJ1ZmZlcmVkUmVhZGVyIGJyOwogICAgICAgIFN0cmluZ1Rva2VuaXplciBzdDsKCiAgICAgICAgcHVibGljIEZhc3RSZWFkZXIoKSB7CiAgICAgICAgICAgIGJyID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKICAgICAgICB9CgogICAgICAgIFN0cmluZyBuZXh0KCkgewogICAgICAgICAgICB3aGlsZSAoc3QgPT0gbnVsbCB8fCAhc3QuaGFzTW9yZVRva2VucygpKSB7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIHN0ID0gbmV3IFN0cmluZ1Rva2VuaXplcihici5yZWFkTGluZSgpKTsKICAgICAgICAgICAgICAgIH0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBzdC5uZXh0VG9rZW4oKTsKICAgICAgICB9CgogICAgICAgIGludCBuZXh0SW50KCkgewogICAgICAgICAgICByZXR1cm4gSW50ZWdlci5wYXJzZUludChuZXh0KCkpOwogICAgICAgIH0KCiAgICAgICAgbG9uZyBuZXh0TG9uZygpIHsKICAgICAgICAgICAgcmV0dXJuIExvbmcucGFyc2VMb25nKG5leHQoKSk7CiAgICAgICAgfQoKICAgICAgICBkb3VibGUgbmV4dERvdWJsZSgpIHsKICAgICAgICAgICAgcmV0dXJuIERvdWJsZS5wYXJzZURvdWJsZShuZXh0KCkpOwogICAgICAgIH0KCiAgICAgICAgU3RyaW5nIG5leHRMaW5lKCkgewogICAgICAgICAgICBTdHJpbmcgc3RyID0gIiI7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBzdHIgPSBici5yZWFkTGluZSgpLnRyaW0oKTsKICAgICAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgICAgIGUucHJpbnRTdGFja1RyYWNlKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHN0cjsKICAgICAgICB9CiAgICB9CgogICAgc3RhdGljIGNsYXNzIEZhc3RXcml0ZXIgewogICAgICAgIHByaXZhdGUgZmluYWwgQnVmZmVyZWRXcml0ZXIgYnc7CgogICAgICAgIHB1YmxpYyBGYXN0V3JpdGVyKCkgewogICAgICAgICAgICB0aGlzLmJ3ID0gbmV3IEJ1ZmZlcmVkV3JpdGVyKG5ldyBPdXRwdXRTdHJlYW1Xcml0ZXIoU3lzdGVtLm91dCkpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHZvaWQgcHJpbnQoT2JqZWN0IG9iamVjdCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICAgICAgYncuYXBwZW5kKCIiICsgb2JqZWN0KTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyB2b2lkIHByaW50bG4oT2JqZWN0IG9iamVjdCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICAgICAgcHJpbnQob2JqZWN0KTsKICAgICAgICAgICAgYncuYXBwZW5kKCJcbiIpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHZvaWQgY2xvc2UoKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgICAgICBidy5jbG9zZSgpOwogICAgICAgIH0KICAgIH0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCSB0cnkgewogICAgICAgICAgICBGYXN0UmVhZGVyIGZpbiA9IG5ldyBGYXN0UmVhZGVyKCk7CiAgICAgICAgICAgIEZhc3RXcml0ZXIgZm91dCA9IG5ldyBGYXN0V3JpdGVyKCk7CiAgICAgICAgICAgICAgICBpbnQgdCA9IGZpbi5uZXh0SW50KCk7CiAgICAgICAgICAgICAgICB3aGlsZSh0LS0gPiAwKSB7CiAgICAgICAgICAgICAgICBpbnQgbiA9IGZpbi5uZXh0SW50KCk7CiAgICAgICAgICAgICAgICBpbnQgY293cyA9IGZpbi5uZXh0SW50KCk7CiAgICAgICAgICAgICAgICBsb25nW10gYmFybnMgPSBuZXcgbG9uZ1tuXTsKICAgICAgICAgICAgICAgIGxvbmcgbWF4Q29yZGluYXRlID0gTG9uZy5NSU5fVkFMVUU7CiAgICAgICAgICAgICAgICBsb25nIG1pbkNvcmRpbmF0ZSA9IExvbmcuTUFYX1ZBTFVFOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICBiYXJuc1tpXSA9IGZpbi5uZXh0TG9uZygpOwogICAgICAgICAgICAgICAgICAgIG1heENvcmRpbmF0ZSA9IG1heChtYXhDb3JkaW5hdGUsIGJhcm5zW2ldKTsKICAgICAgICAgICAgICAgICAgICBtaW5Db3JkaW5hdGUgPSBtaW4obWluQ29yZGluYXRlLGJhcm5zW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEFycmF5cy5zb3J0KGJhcm5zKTsKICAgICAgICAgICAgICAgIGxvbmcgc3RhcnQgPSAxOwogICAgICAgICAgICAgICAgbG9uZyBlbmQgPSBtYXhDb3JkaW5hdGUgLSBtaW5Db3JkaW5hdGU7CiAgICAgICAgICAgICAgICB3aGlsZShzdGFydCA8PSBlbmQpIHsKICAgICAgICAgICAgICAgICAgICBsb25nIG1pZCA9IChlbmQtc3RhcnQpLzIgKyBzdGFydDsKICAgICAgICAgICAgICAgICAgICBpZihjYW5XZVBsYWNlQ293cyhtaWQsY293cyxiYXJucykpewogICAgICAgICAgICAgICAgICAgICAgICBzdGFydCA9bWlkKzE7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBlbmQgPSBtaWQtMTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmb3V0LnByaW50bG4oZW5kKTsKICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZvdXQuY2xvc2UoKTsKICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gZSkgewogICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoJfQoJICAgIHByaXZhdGUgc3RhdGljIGJvb2xlYW4gY2FuV2VQbGFjZUNvd3MobG9uZyBtaWQsIGludCBjb3dzLCBsb25nW10gYmFybnMpIHsKICAgICAgICBpbnQgY3VycmVudENudENvd3MgPSAxOwogICAgICAgIGxvbmcgbGFzdENvdyA9IGJhcm5zWzBdOwogICAgICAgIGZvcihpbnQgaSA9IDE7aTxiYXJucy5sZW5ndGg7aSsrKXsKICAgICAgICAgICAgaWYoYmFybnNbaV0tbGFzdENvdyA+PSBtaWQpewogICAgICAgICAgICAgICAgY3VycmVudENudENvd3MrKzsKICAgICAgICAgICAgICAgIGxhc3RDb3cgPSBiYXJuc1tpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihjdXJyZW50Q250Q293cyA9PSBjb3dzKXsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KfQ==