零分求助,郁闷ing
查看原帖
零分求助,郁闷ing
430911
xclyk楼主2023/5/12 18:47

看了第二篇题解自己码了一遍,找不出哪里错了(郁闷)

#include<bits/stdc++.h>
using namespace std;
int n,d,ans=0,a[100006];
int main()
{
	cin>>n>>d;
	for(int i=0;i<n;i++) cin>>a[i];
	sort(a,a+n);
	for(int i=1;i<n-1;i++)
		if(a[i-1]!=0&&a[i+1]-a[i-1]<=d){
			a[i]=0;
			ans++;
		}
		else{
			int j=i-1;
        	while(a[j]==0) j--;
        	if(a[i+1]-a[j]<=d) a[i]=0;
			ans++;
		}
	cout<<ans;
	return 0;
}

万分感谢!!!

2023/5/12 18:47
加载中...