#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll n,k,a[5001],ans=1e14;
/*
n: số lượng phần tử của mảng
k: khoảng cách giữa mỗi nốt nhạc
a[]: mảng chứa n nốt nhạc ban đầu
ans: thời gian ngắn nhất để biến mảng a[] thành bản nhạc thế kỉ (ans ban đầu bằng infinity cho dễ tìm min)
*/
int main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
// nhập dữ liệu theo đề bài
cin >> n >> k;
for(int i=1;i<=n;i++) cin >> a[i];
// bắt đầu giải
// ta nhận xét rằng bản nhạc thế kỉ phụ thuộc vào a[1]
// vì nếu có a[1] thì những nốt nhạc sau sẽ là a[2] = a[1]+k, a[3] = a[2]+k = a[1] + 2*k ...
for(int i=1;i<=5000;i++) {
// i: giá trị ban đầu của a[1]
ll cnt=0,cur=i;
// cnt: với giá trị a[1] = i thì sẽ cần ít nhất bao nhiêu thời gian để biến mảng a[] thành bản nhạc TK
// cur: giá trị của nốt nhạc hiện tại đang xét tới (cur ban đầu là a[1] nên cur = i)
for(int j=1;j<=n;j++) {
cnt+=abs(a[j]-cur), cur+=k;
// với mỗi giá trị cur hiện tại, ta cần biến đổi a[j] = cur mà mỗi lần ta chỉ đc +1 hoặc -1 cho a[j]
// suy ra nếu a[j] > cur thì cnt += a[j]-cur ngược lại cur > a[j] thì cnt += cur - a[j]
// vậy cnt += trị tuyệt đối (a[j] - cur)
// mỗi lần tính xong ta sẽ đi tiếp đến giá trị a[j+1] mà theo đề bài a[j+1] = a[j] + k
// vậy cur += k sau mỗi lần tính
}
// kiểm tra xem cnt có bé hơn ans hay không?
ans=min(ans,cnt);
}
cout << ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCmxsIG4sayxhWzUwMDFdLGFucz0xZTE0OwovKgogICAgbjogc+G7kSBsxrDhu6NuZyBwaOG6p24gdOG7rSBj4bunYSBt4bqjbmcKICAgIGs6IGtob+G6o25nIGPDoWNoIGdp4buvYSBt4buXaSBu4buRdCBuaOG6oWMKICAgIGFbXTogbeG6o25nIGNo4bupYSBuIG7hu5F0IG5o4bqhYyBiYW4gxJHhuqd1CiAgICBhbnM6IHRo4budaSBnaWFuIG5n4bqvbiBuaOG6pXQgxJHhu4MgYmnhur9uIG3huqNuZyBhW10gdGjDoG5oIGLhuqNuIG5o4bqhYyB0aOG6vyBr4buJIChhbnMgYmFuIMSR4bqndSBi4bqxbmcgaW5maW5pdHkgY2hvIGThu4UgdMOsbSBtaW4pCiovCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKSwgY291dC50aWUoMCk7CiAgICAvLyBuaOG6rXAgZOG7ryBsaeG7h3UgdGhlbyDEkeG7gSBiw6BpCiAgICBjaW4gPj4gbiA+PiBrOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspIGNpbiA+PiBhW2ldOwogICAgLy8gYuG6r3QgxJHhuqd1IGdp4bqjaQogICAgLy8gdGEgbmjhuq1uIHjDqXQgcuG6sW5nIGLhuqNuIG5o4bqhYyB0aOG6vyBr4buJIHBo4bulIHRodeG7mWMgdsOgbyBhWzFdCiAgICAvLyB2w6wgbuG6v3UgY8OzIGFbMV0gdGjDrCBuaOG7r25nIG7hu5F0IG5o4bqhYyBzYXUgc+G6vSBsw6AgYVsyXSA9IGFbMV0raywgYVszXSA9IGFbMl0rayA9IGFbMV0gKyAyKmsgLi4uCiAgICBmb3IoaW50IGk9MTtpPD01MDAwO2krKykgewogICAgICAgIC8vIGk6IGdpw6EgdHLhu4sgYmFuIMSR4bqndSBj4bunYSBhWzFdCiAgICAgICAgbGwgY250PTAsY3VyPWk7CiAgICAgICAgLy8gY250OiB24bubaSBnacOhIHRy4buLIGFbMV0gPSBpIHRow6wgc+G6vSBj4bqnbiDDrXQgbmjhuqV0IGJhbyBuaGnDqnUgdGjhu51pIGdpYW4gxJHhu4MgYmnhur9uIG3huqNuZyBhW10gdGjDoG5oIGLhuqNuIG5o4bqhYyBUSwogICAgICAgIC8vIGN1cjogZ2nDoSB0cuG7iyBj4bunYSBu4buRdCBuaOG6oWMgaGnhu4duIHThuqFpIMSRYW5nIHjDqXQgdOG7m2kgKGN1ciBiYW4gxJHhuqd1IGzDoCBhWzFdIG7Dqm4gY3VyID0gaSkKICAgICAgICBmb3IoaW50IGo9MTtqPD1uO2orKykgewogICAgICAgICAgICBjbnQrPWFicyhhW2pdLWN1ciksIGN1cis9azsKICAgICAgICAgICAgLy8gduG7m2kgbeG7l2kgZ2nDoSB0cuG7iyBjdXIgaGnhu4duIHThuqFpLCB0YSBj4bqnbiBiaeG6v24gxJHhu5VpIGFbal0gPSBjdXIgbcOgIG3hu5dpIGzhuqduIHRhIGNo4buJIMSRYyArMSBob+G6t2MgLTEgY2hvIGFbal0KICAgICAgICAgICAgLy8gc3V5IHJhIG7hur91IGFbal0gPiBjdXIgdGjDrCBjbnQgKz0gYVtqXS1jdXIgbmfGsOG7o2MgbOG6oWkgY3VyID4gYVtqXSB0aMOsIGNudCArPSBjdXIgLSBhW2pdCiAgICAgICAgICAgIC8vIHbhuq15IGNudCArPSB0cuG7iyB0dXnhu4d0IMSR4buRaSAoYVtqXSAtIGN1cikKICAgICAgICAgICAgLy8gbeG7l2kgbOG6p24gdMOtbmggeG9uZyB0YSBz4bq9IMSRaSB0aeG6v3AgxJHhur9uIGdpw6EgdHLhu4sgYVtqKzFdIG3DoCB0aGVvIMSR4buBIGLDoGkgYVtqKzFdID0gYVtqXSArIGsKICAgICAgICAgICAgLy8gduG6rXkgY3VyICs9IGsgc2F1IG3hu5dpIGzhuqduIHTDrW5oCiAgICAgICAgfQogICAgICAgIC8vIGtp4buDbSB0cmEgeGVtIGNudCBjw7MgYsOpIGjGoW4gYW5zIGhheSBraMO0bmc/CiAgICAgICAgYW5zPW1pbihhbnMsY250KTsKICAgIH0KICAgIGNvdXQgPDwgYW5zOwogICAgcmV0dXJuIDA7Cn0=