/*汪汪汪*/
.    𐚁へ         ╱|𐚁
   ૮ -  ՛ )      (`  - 7
    /  ⁻ ៸|       |、⁻〵
乀 (ˍ,   JJ     じしˍ,)ノ
/*汪汪狗,喵呜~,可爱捏*/
好了,进入正题,这道题也是非常简单了,笨笨狗都会做的题,喵呜~,首先读懂题目,使平滑值恰等于k,那么我们直接遍历,找到大于k的值,就插入数字,至于要插入几个数字呢,喵呜~,提问!!!,汪,我们首先想到用差值除以k,但笨笨狗发现遇到能够整除的情况要减一,那么我们能不能和为一种情况呢,注意到,汪,统一成向上取整-1,我们可以这样想,将长度为差值的一段数分成长度为k的组,一共有几组,要插入的数即为组数-1,在注意到,这个题的ans可能很大,要开ll,汪,最后,ans 为0的情况,可能是平滑值恰为k,也可能是平滑值小于k,所以要特判一下。汪汪汪,笨笨狗的讲解就到这里了,喵呜~,午安!
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {
    int n,k;cin >> n >> k;
    vector<int> a(n);
    for(int & k : a) cin >> k;
    ll ans = 0;
    int fd = 0;
    for(int i = 0; i <n - 1;i++) {
        if(abs(a[i + 1] -a[i]) > k) ans += (abs(a[i + 1] - a[i]) + k - 1) / k - 1;
        if(abs(a[i + 1]- a[i]) == k) fd =1;
        // cout << ans << "\n";
    }
    if(ans == 0 && fd == 0) cout << 1 << "\n"; 
    else cout << ans << "\n";
}
int main() {
    cin.tie(0) -> sync_with_stdio(0);
    solve();
    return 0;
}