#include <iostream>
#include <algorithm>
#define x first
#define y second
using namespace std;
const int N = 1e5 + 10;
typedef pair<int, int> PII;
PII a[N];
bool cmp(PII a, PII b)
{
if (a.x != b.x) return a.x < b.x;
return a.y < b.y;
}
int main()
{
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int T;
cin >> T;
while(T -- )
{
int n, k;
cin >> n >> k;
for (int i = 0; i < n; i ++ )
{
int x;
cin >> x;
a[i] = {x - k, x + k};
}
sort(a, a + n, cmp);
int res = 1, ed = a[0].x;
for (int i = 1; i < n; i ++ )
{
if (a[i].x > ed)
{
res ++ ;
ed = a[i].x;
}
else if (a[i].y > ed)
{
res ++ ;
ed = ed + 1;
}
}
cout << res << endl;
}
return 0;
}
2021 年百度之星·程序设计大赛 - 初赛二 1002 随机题意(区间贪心)
最新推荐文章于 2022-09-04 19:15:33 发布