贪心+set,代码量会很小
用数组存会快一点点
#include <cstdio>
#include <set>
using namespace std;
set<int> S;
int main()
{
int T;
scanf("%d", &T);
for(int ca = 1; ca <= T; ca++)
{
int n, w, y;
scanf("%d%d", &n, &w);
while(n--)
{
scanf("%*d%d", &y);
S.insert(y);
}
int cnt = 0;
while(!S.empty())
{
cnt++;
int ny = *S.begin() + w;
while(!S.empty() && *S.begin() <= ny)
S.erase(S.begin());
}
printf("Case %d: %d\n", ca, cnt);
}
return 0;
}