16行的判断条件 注意是在答案数组进行判断, 我好傻 看了好久 才知道是ans[j]-m 而不是a[j]-m
#include<algorithm>
using namespace std;
const int N =1e6+7;
int n,m;
int a[1010];
int ans[1010];
int main(){
cin>>n>>m;
for(int i =0;i<n;i++){
cin >> a[i];
}
for(int i =0;i<n;i++){
ans[i]=a[i];
sort(ans,ans+i);
for(int j =0;j<i;j++){
if(ans[i]>ans[j]-m && ans[i]<ans[j]+m){
ans[i]=ans[j]+m;
}
}
cout<<ans[i]<<" ";
}
return 0;
}