#include <bits/stdc++.h>
using namespace std;

int main() {
	// your code goes here;
	int n,k;
	cin>>n>>k;
	vector<int> p(n);
	for(int i=0;i<n;i++){
		cin>>p[i];
	}
	int sum=0,count=0;
	 priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq;
     unordered_map<int,int> mp;
    for(int i=0;i<n;i++){
    	pq.push({0,p[i]});
    	// mp[p[i]]=0;
    }
    while(count<k+n&&!pq.empty()){
    	auto it = pq.top();
    	pq.pop();
    	int dis = it.first;
    	int loc = it.second;
    
    	if(mp[loc]==0){
    		sum+=dis;
    		if(mp[loc+1]==0){
    			pq.push({dis+1,loc+1});
    		}
    		if(mp[loc-1]==0){
    			pq.push({dis+1,loc-1});
    		}
    	count++;
    	mp[loc]=1;
    	}
    	
    }
    cout<<sum;
	return 0;
}