#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e5 + 10;
typedef pair<int, int> PII;
int n, d, k;
int cnt[N]; // 用于存储每个id号获赞数,所以后面代码为cnt[t] ++;
bool st[N]; // 用于存储每个帖子是否是热帖,所以用bool类型
PII logs[N]; // 用于存储日志ts, id
int main()
{
cin >> n >> d >> k;
// 输入
for(int i = 0; i < n; i++) cin >> logs[i].first >> logs[i].second;
// 排序,默认按照first升序排序
sort(logs, logs + n);
// 遍历,双指针,i在前,j在后
for(int i = 0, j = 0; i < n; i++)
{
// 时刻 + 编号
int t = logs[i].second; // 获得编号
cnt[t] ++;
while(logs[i].first - logs[j].first >= d) // 时间差超过d,此赞无效
{
cnt[logs[j].second] --;
j++;
}
if(cnt[t] >= k) st[t] = true; // 是热帖
}
// 遍历所有编号
for(int i = 0; i < 1e5; i++)
if(st[i]) cout << i << endl;
return 0;
}
1238. 日志统计
于 2023-11-13 20:57:26 首次发布