#include <bits/stdc++.h>
using namespace std;
#define int long long
#define OYY LLONG_MAX
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define fi first
#define se second
#define FOR for(int i=1;i<=n;i++)
#define mid (start+end)/2
#define pb push_back
#define lim 200005
const int mod=1000000007;
int n,m;
int dizi[lim];
int32_t main(){
	faster
	cin>>n>>m;
	
	FOR{
		cin>>dizi[i];
		dizi[i]-=i*m;
		dizi[i]*=-1;
	}
	
	vector<int> v;
	
	FOR{
		if(dizi[i]<0)continue;
		if(v.size()==0 || v.back()<=dizi[i]){
			v.pb(dizi[i]);
			continue;
		}
		int tut=lower_bound(v.begin(),v.end(),dizi[i])-v.begin();
		v[tut]=dizi[i];
	}
	
	int cev=n-v.size();
	
	cout<<cev<<'\n';
	
	return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |