#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O2")
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#define append push_back
#define int long long
const int N=2e5+10,LG=21;
int mod=998244353;
int a[N],dp[N];
int n,m;
void solve(int tst){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) dp[i]=-1e18;
for(int i=1;i<=n;i++){
if(a[i]<=m*i) dp[i]=1;
for(int j=0;j<i;j++){
if(a[i]-a[j]<=m*(i-j)) dp[i]=max(dp[i],dp[j]+1);
}
}
// for(int i=1;i<=n;i++) cout<<dp[i]<<' ';
cout<<min(n,n-dp[n])<<endl;
}
signed main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int t = 1;
// cin >> t;
for(int i=1;i<=t;i++){
solve(i);
// if(i!=t) cout<<endl;
}
}
# | 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... |