#include <stdio.h>
#include <stdlib.h>
#define N 1000010
int n,d,k;
int t[N];
typedef struct{
int st; //
int id; //
}Node;
int cmp(const void* a,const void* b)
{
return ((Node*)a)->st-((Node*)b)->st; //排序
}
int main()
{
scanf("%d%d%d",&n,&d,&k);
Node s[N];
int cnt[N];
for(int i=0;i<n;i++)
scanf("%d %d",&s[i].st,&s[i].id);
qsort(s,n,sizeof(Node),cmp);
for(int i=0,j=0;i<n;i++)
{
cnt[s[i].id]++; //记录热帖
while(s[i].st - s[j].st >= d) //滑动窗口
{
cnt[s[j].id]--;
j++;
}
if(cnt[s[i].id] >= k) //判断热帖是否大于热帖值
{
t[s[i].id] = 1; //是,标记该位置的值是热帖
}
}
for(int i=0;i<N;i++)
if(t[i])
printf("%d\n",i);
return 0;
}
日志统计(蓝桥杯 AcWing)C语言版
最新推荐文章于 2024-03-07 20:02:37 发布