A128503.水晶整理(最强解法)
2026-08-30 19:50:11
发布于:浙江
17阅读
0回复
0点赞
时间最快,内存最小
我提交的时候是双100%
#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;
}
int 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
- 置顶
点个赞吧

2026-09-27 来自 浙江
1







有帮助,赞一个