#include <bits/stdc++.h>
using namespace std;
#define ar array
#define ll long long
const int inf = 2e9;
#define int long long
void solve() {
int n, m;
cin >> n >> m;
vector<int> a(n + 1, 0);
for (int i = 1; i <= n;i++)
cin >> a[i];
vector<int> dp = {0ll};
for (int i = 1; i <= n;i++) {
if (a[i] > m * ((int)dp.size()))
continue;
int l = 1, r = (int)dp.size(), ans = -1;
while (l <= r) {
int mid = l + r >> 1;
ll x = a[i] - m * mid;
if (dp[mid - 1] >= x && (dp.size() == mid || dp[mid] < x)) {
l = mid + 1, ans = mid;
}else r = mid - 1;
}
if (ans == -1)
continue;
dp[ans] = a[i] - m * ans;
}
cout << n - (int)dp.size() + 1;
}
int32_t main() {
ios :: sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
solve();
return 0;
}