#include <iostream>
#include <unordered_map>
#include <vector>
#include <queue>
using namespace std;
typedef long long LL;
struct Data
{
LL cur;
int dir;
LL origin;
};
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
int N, K; cin >> N >> K;
LL ans = 0;
vector<int> v(N);
unordered_map<int, bool> visit;
queue<Data> Q;
for(int i=0; i<N; i++){
cin >> v[i];
Q.push({v[i] - 1, -1, v[i]});
Q.push({v[i] + 1, +1, v[i]});
visit[v[i]] = true;
}
int cnt=0;
while(Q.size())
{
auto cur = Q.front(); Q.pop();
if(cnt == K)
break;
if(visit[cur.cur])
continue;
visit[cur.cur] = true;
cnt++;
ans += abs(cur.cur - cur.origin);
LL next = cur.cur + cur.dir;
Q.push({next, cur.dir, cur.origin});
}
cout << ans;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHF1ZXVlPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgbG9uZyBsb25nIExMOwoKc3RydWN0IERhdGEKewogICAgTEwgY3VyOwogICAgaW50IGRpcjsKICAgIExMIG9yaWdpbjsKfTsKCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpLCBjb3V0LnRpZShudWxscHRyKTsKICAgIAogICAgaW50IE4sIEs7IGNpbiA+PiBOID4+IEs7CiAgICAKICAgIExMIGFucyA9IDA7CiAgICAKICAgIHZlY3RvcjxpbnQ+IHYoTik7CiAgICB1bm9yZGVyZWRfbWFwPGludCwgYm9vbD4gdmlzaXQ7CiAgICAKICAgIHF1ZXVlPERhdGE+IFE7CiAgICAKICAgIGZvcihpbnQgaT0wOyBpPE47IGkrKyl7CiAgICAgICAgY2luID4+IHZbaV07CiAgICAgICAgUS5wdXNoKHt2W2ldIC0gMSwgLTEsIHZbaV19KTsKICAgICAgICBRLnB1c2goe3ZbaV0gKyAxLCArMSwgdltpXX0pOwogICAgICAgIAogICAgICAgIHZpc2l0W3ZbaV1dID0gdHJ1ZTsKICAgIH0KICAgIAogICAgaW50IGNudD0wOwogICAgCiAgICB3aGlsZShRLnNpemUoKSkKICAgIHsKICAgICAgICBhdXRvIGN1ciA9IFEuZnJvbnQoKTsgUS5wb3AoKTsKICAgICAgICAKICAgICAgICBpZihjbnQgPT0gSykKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgCiAgICAgICAgaWYodmlzaXRbY3VyLmN1cl0pCiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAKICAgICAgICB2aXNpdFtjdXIuY3VyXSA9IHRydWU7CiAgICAgICAgY250Kys7CiAgICAgICAgCiAgICAgICAgYW5zICs9IGFicyhjdXIuY3VyIC0gY3VyLm9yaWdpbik7CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgTEwgbmV4dCA9IGN1ci5jdXIgKyBjdXIuZGlyOwogICAgICAgIAogICAgICAgIFEucHVzaCh7bmV4dCwgY3VyLmRpciwgY3VyLm9yaWdpbn0pOwogICAgfQoKICAgIGNvdXQgPDwgYW5zOwoKICAgIHJldHVybiAwOwp9