1e4都能过。
#include<bits/stdc++.h>
using namespace std;
int n,t;
struct ant{
int data;
int xb;
int fx;
int ans;
} a[10010];
struct aaa{
int data;
int fx;
} b[10010];
bool cmp1(ant x,ant y){
return x.data<y.data;
}
bool cmp2(aaa x,aaa y){
return x.data<y.data;
}
bool cmp3(ant x,ant y){
return x.xb<y.xb;
}
int main(){
cin>>n>>t;
for(int i=1;i<=n;i++){
cin>>a[i].data>>a[i].fx;
a[i].xb=i;
}
sort(a+1,a+n+1,cmp1);
for(int i=1;i<=n;i++){
b[i].data=a[i].fx==1?a[i].data+t:a[i].data-t;
b[i].fx=a[i].fx;
}
sort(b+1,b+n+1,cmp2);
for(int i=1;i<=n;i++){
a[i].ans=b[i].data;
a[i].fx=b[i].fx;
}
for(int i=1;i<n;i++) if(a[i].ans==a[i+1].ans) a[i].fx=a[i+1].fx=0;
sort(a+1,a+n+1,cmp3);
for(int i=1;i<=n;i++) cout<<a[i].ans<<" "<<a[i].fx<<endl;
return 0;
}