#include<bits/stdc++.h>
using namespace std;
int n,m,t,maxt;
long long f[4000400],cnt[4000400];
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>t;
cnt[t]++;
if(t>maxt){
maxt=t;
}
}
for(int i=0;i<=maxt+m;i++){
long long tmp=0;
for(int j=0;j<m&&i-j>=0;j++){
tmp+=cnt[i-j]*((long long) j);
}
f[i]=tmp;
if(i>=m){
f[i]+=f[i-m];
}
for(int j=m+1;j<=2*m&&i-j>=0;j++){
tmp+=cnt[i-j+1]*((long long) j-1);
if(f[i-j]+tmp<=f[i]){
f[i]=f[i-j]+tmp;
}
}
}
long long ans=f[maxt];
for(int i=1;i<=m;i++){
ans=min(ans,f[maxt+i]);
}
cout<<ans;
return 0;
}
70分哪个大佬能帮忙改一改