这是我的思路
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1005;
int n,k,a[MAXN],b[MAXN];
int main(){
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n,[](int a,int b){
return a>b;
});
b[0]=a[0];
int maxx=a[0],minn;
for(int i=1;i<n;i++){
minn=a[i];
if(maxx-minn>k){
b[i]=a[i];
maxx=a[i-1];
}else
b[i]=b[i-1]+a[i];
}
int ans=0;
for(int i=0;i<n;i++){
ans=max(ans,b[i]);
}
cout<<ans;
return 0;
}
感觉没毛病啊, 望有高人指点 %%%