#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
#define int long long
const int N=5005;
vector<int>ans;
int a[N];
int dp[N][N];
signed main(){
int n,x;
cin>>n>>x;
set<int>st={0};
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
dp[i][j]=1e9;
}
}
for(int i=1;i<=n;i++){
cin>>a[i];
st.insert(a[i]);
}
vector<int>v;
for(auto a:st)v.pb(a);
map<int,int>mp;
dp[0][0]=0;
for(int i=1;i<=n;i++){
for(int j=0;j<v.size();j++){
for(int k=0;k<v.size();k++){
if( (v[j]-v[k])<x){
dp[i][j]=min(dp[i][j], (int)dp[i-1][k]+ (v[j]!=a[i]));
}
}
}
}
int ans=1e9;
for(int i=0;i<v.size();i++){
ans=min(ans,dp[n][i]);
}
cout<<ans;
}
# | 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... |