Ning24 @ 2024-04-06 12:58:31
#include<bits/stdc++.h>
#define endl '\n'
//#define int long long
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int N = 2e5+10;
ll n, m, k,sum;
struct node{
int ts,id;
}a[100005];
int cmp(node a,node b){
return a.id==b.id?a.ts<b.ts:a.id<b.id;
}
void sovle(){
cin>>n>>m>>k;
for(int i=0;i<n;i++){
cin>>a[i].ts>>a[i].id;
}
set<int>v;
sort(a,a+n,cmp);
int w=1;
int head=a[0].ts;
if(k==1){
v.insert(a[0].id);
}
for(int i=1;i<n;i++){
if(a[i-1].id==a[i].id&&a[i].ts-head<m){
w++;
}
else if(a[i-1].id!=a[i].id){
head=a[i].ts;
w=1;
}
else if(a[i].id==a[i-1].id&&a[i].ts-head>=m){
head=a[i].ts;
w=1;
}
if(w==k){
v.insert(a[i].id);
w=1;
}
}
while(!v.empty()){
cout<<*v.begin()<<endl;
v.erase(*v.begin());
}
}
int main()
{
//ios::sync_with_stdio(false), cin.tie(0),cout.tie(0);
int t = 1;
//cin>>t;
while (t --){
sovle();
}
return 0;
}