#include using namespace std; #define EPS (1e-10) #define REP (i,n) for (int i = 0; i<(n);i++) typedef long double ld; typedef long long ll; typedef pair ii; typedef pair dd; typedef vector vi; typedef vector vll; typedef vector vd; int main() { ios::sync_with_stdio(false); ll N, a; cin >> N >> a; vll V(N); for(long long i = 0; i < N; ++i) cin >> V[i]; sort(V.begin(), V.end()); long long lb = V[0], ub = V[N-1]; while (ub-lb >= 3) { long long aa = lb+(ub-lb)/3; long long ab = ub-(ub-lb)/3; long long s1=0, s2=0; for(long long i = 0; i < N; ++i) { s1 += abs(V[i] - aa-i*a); } for(long long i = 0; i < N; ++i) { s2 += abs(V[i] - ab-i*a); } if (s1 > s2) lb = aa; else ub = ab; } // cout << lb << " " << ub << endl; ll res = LLONG_MAX; for(long long r = lb-4; r <= ub+4; ++r) { ll s2 = 0; for(long long i = 0; i < N; ++i) { s2 += abs(V[i] - r-i*a); } res = min(s2, res); } cout << res << endl; }