最佳题解
2025-12-01 15:59:34
发布于:浙江
22阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,dist,p[1000005];
cin>>n>>dist;
for (int i=0;i<n;i++)
{
cin>>p[i];
}
sort(p,p+n);
int ans=0,a=0;
for(int i=2;i<=n-1;i++)
{
if(p[i+1]-p[a]<=dist)
ans++;
else
a=i;
}
cout<<ans<<endl;
}
全部评论 7
你可以在让AC狗改一下,可能还有最优解
2025-11-29 来自 浙江
1谢谢
2025-11-29 来自 浙江
0
你这个时间复杂度有16,改成我的时间复杂度只有15
2025-11-29 来自 浙江
1第9行for(int i=1;i<n-1;i++)可以改成for (int i=2;i<n;i++)
2025-11-29 来自 浙江
1并非最佳
2025-11-29 来自 浙江
1


2025-12-02 来自 浙江
0我改了
2025-11-30 来自 浙江
0牛
2025-11-28 来自 浙江
0












有帮助,赞一个