#include<bits/stdc++.h>
#define ii pair<int, int>
#define fi first
#define se second
#define iii pair<ii, int>
using namespace std;
const int MOD = int(1e5 + 7);
const int nmax = int(1e6 + 7);
int n, m;
vector<int> a;
long long d[nmax] = {0};
void prepare() {
}
void solve() {
}
int find_first(int u, int v, int x) {
int L = u, R = v;
while(true) {
if(L == R) break;
if(L == R-1) {
if(a[L] < x) L = R;
break;
}
int m = (L + R) / 2;
if(a[m] >= x) R = m;
else L = m+1;
}
return L;
}
void ip() {
cin >> n >> m;
a.resize(n+1);
for(int i = 1; i <= n; ++i) {
cin >> a[i];
}
sort(a.begin()+1, a.end());
for(int i = 1; i <= n; ++i) {
d[i] = d[i-1] + a[i];
}
long long ans = LLONG_MAX;
for(int i = 1; i <= n - m + 1; ++i) {
// select from i -> i + m - 1
int tbc = (d[i + m -1] - d[i-1]) / m;
int pos = find_first(i, i + m -1, tbc);
long long thieu = 0, thua = 0;
if(pos > i) {
thieu = 1LL * (pos -1 -i +1) * tbc - (d[pos-1] - d[i-1]);
}
if(pos <= i + m -1) {
thua = abs(1LL * (i + m -1 -pos +1) * tbc - (d[i + m -1] - d[pos-1]));
}
if(1LL * tbc * m <= d[n])
ans = min(ans, max(thua, thieu));
tbc = (d[i + m -1] - d[i-1]) / m + 1;
pos = find_first(i, i + m -1, tbc);
thieu = 0, thua = 0;
if(pos > i) {
thieu = 1LL * (pos -1 -i +1) * tbc - (d[pos-1] - d[i-1]);
}
if(pos <= i + m -1) {
thua = abs(1LL * (i + m -1 -pos +1) * tbc - (d[i + m -1] - d[pos-1]));
}
if(1LL * tbc * m <= d[n])
ans = min(ans, max(thua, thieu));
// for(int j = i; j <= i + m - 1; ++j) {
// cout << a[j] << " ";
// } cout << '\n';
// cout << "TBC: " << tbc << '\n';
// cout << thua << " | " << thieu << '\n';
}
cout << ans;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
if(fopen("task.inp", "r")) {
freopen("task.inp", "r", stdin);
freopen("task.out", "w", stdout);
}
ip();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBpaSBwYWlyPGludCwgaW50PgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgaWlpIHBhaXI8aWksIGludD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNT0QgPSBpbnQoMWU1ICsgNyk7CmNvbnN0IGludCBubWF4ID0gaW50KDFlNiArIDcpOwoKaW50IG4sIG07CnZlY3RvcjxpbnQ+IGE7CmxvbmcgbG9uZyBkW25tYXhdID0gezB9OwoKdm9pZCBwcmVwYXJlKCkgewp9CnZvaWQgc29sdmUoKSB7Cn0KaW50IGZpbmRfZmlyc3QoaW50IHUsIGludCB2LCBpbnQgeCkgewogICAgaW50IEwgPSB1LCBSID0gdjsKICAgIHdoaWxlKHRydWUpIHsKICAgICAgICBpZihMID09IFIpIGJyZWFrOwogICAgICAgIGlmKEwgPT0gUi0xKSB7CiAgICAgICAgICAgIGlmKGFbTF0gPCB4KSBMID0gUjsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGludCBtID0gKEwgKyBSKSAvIDI7CiAgICAgICAgaWYoYVttXSA+PSB4KSBSID0gbTsKICAgICAgICBlbHNlIEwgPSBtKzE7CiAgICB9CiAgICByZXR1cm4gTDsKfQp2b2lkIGlwKCkgewogICAgY2luID4+IG4gPj4gbTsKICAgIGEucmVzaXplKG4rMSk7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQogICAgc29ydChhLmJlZ2luKCkrMSwgYS5lbmQoKSk7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgIGRbaV0gPSBkW2ktMV0gKyBhW2ldOwogICAgfQogICAgbG9uZyBsb25nIGFucyA9IExMT05HX01BWDsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbiAtIG0gKyAxOyArK2kpIHsKLy8gICAgICAgc2VsZWN0IGZyb20gaSAtPiBpICsgbSAtIDEKICAgICAgICBpbnQgdGJjID0gKGRbaSArIG0gLTFdIC0gZFtpLTFdKSAvIG07CiAgICAgICAgaW50IHBvcyA9IGZpbmRfZmlyc3QoaSwgaSArIG0gLTEsIHRiYyk7CiAgICAgICAgbG9uZyBsb25nIHRoaWV1ID0gMCwgdGh1YSA9IDA7CiAgICAgICAgaWYocG9zID4gaSkgewogICAgICAgICAgICB0aGlldSA9IDFMTCAqIChwb3MgLTEgLWkgKzEpICogdGJjIC0gKGRbcG9zLTFdIC0gZFtpLTFdKTsKICAgICAgICB9CiAgICAgICAgaWYocG9zIDw9IGkgKyBtIC0xKSB7CiAgICAgICAgICAgIHRodWEgPSBhYnMoMUxMICogKGkgKyBtIC0xIC1wb3MgKzEpICogdGJjIC0gKGRbaSArIG0gLTFdIC0gZFtwb3MtMV0pKTsKICAgICAgICB9CiAgICAgICAgaWYoMUxMICogdGJjICogbSA8PSBkW25dKQogICAgICAgICAgICBhbnMgPSBtaW4oYW5zLCBtYXgodGh1YSwgdGhpZXUpKTsKICAgICAgICB0YmMgPSAoZFtpICsgbSAtMV0gLSBkW2ktMV0pIC8gbSArIDE7CiAgICAgICAgcG9zID0gZmluZF9maXJzdChpLCBpICsgbSAtMSwgdGJjKTsKICAgICAgICB0aGlldSA9IDAsIHRodWEgPSAwOwogICAgICAgIGlmKHBvcyA+IGkpIHsKICAgICAgICAgICAgdGhpZXUgPSAxTEwgKiAocG9zIC0xIC1pICsxKSAqIHRiYyAtIChkW3Bvcy0xXSAtIGRbaS0xXSk7CiAgICAgICAgfQogICAgICAgIGlmKHBvcyA8PSBpICsgbSAtMSkgewogICAgICAgICAgICB0aHVhID0gYWJzKDFMTCAqIChpICsgbSAtMSAtcG9zICsxKSAqIHRiYyAtIChkW2kgKyBtIC0xXSAtIGRbcG9zLTFdKSk7CiAgICAgICAgfQogICAgICAgIGlmKDFMTCAqIHRiYyAqIG0gPD0gZFtuXSkKICAgICAgICAgICAgYW5zID0gbWluKGFucywgbWF4KHRodWEsIHRoaWV1KSk7Ci8vICAgICAgICBmb3IoaW50IGogPSBpOyBqIDw9IGkgKyBtIC0gMTsgKytqKSB7Ci8vICAgICAgICAgICAgY291dCA8PCBhW2pdIDw8ICIgIjsKLy8gICAgICAgIH0gY291dCA8PCAnXG4nOwovLyAgICAgICAgY291dCA8PCAiVEJDOiAiIDw8IHRiYyA8PCAnXG4nOwovLyAgICAgICAgY291dCA8PCB0aHVhIDw8ICIgfCAiIDw8IHRoaWV1IDw8ICdcbic7CiAgICB9CiAgICBjb3V0IDw8IGFuczsKfQppbnQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCksIGNvdXQudGllKDApOwoKICAgIGlmKGZvcGVuKCJ0YXNrLmlucCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuKCJ0YXNrLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oInRhc2sub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgaXAoKTsKfQo=