双修图标,双百超越,极限卡时间ac,直取
2026-08-30 19:49:47
发布于:浙江
14阅读
0回复
0点赞
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN = 200010;
int a[MAXN];
inline int read()
{
int x = 0;
char ch = getchar();
while (ch != EOF && (ch < '0' || ch > '9'))
{
ch = getchar();
}
if(ch == EOF) return 0;
while (ch >= '0' && ch <= '9')
{
x = x * 10 + (ch ^ 48);
ch = getchar();
}
return x;
}
main()
{
int n = read();
int k = read();
for(int i = 0; i < n; i++)
{
a[i] = read();
}
sort(a, a + n);
int r = n - 1, ans = 0;
for(int i = n - 1; i >= 0; i--)
{
while(r > i && a[r] - a[i] > k) --r;
if(a[r] <= a[i]) ans++;
}
printf("%d\n", ans);
return 0;
}
全部评论 1
NB
4天前 来自 浙江
0





有帮助,赞一个