#include<bits/stdc++.h>
using namespace std;
map<int,int>c;
map<int,int>::iterator k;
int n,i,a,b,id,v;
bool ok;
int main(){
scanf("%d",&n);
c[1e9]=1;
for(i=1;i<=n;i++){
scanf("%d%d",&id,&v);
k=c.upper_bound(v);
if(k==c.end()){
k--;
ok=true;
}
a=k->first-v;
b=k->second;
if(k!=c.begin()&&ok==false){
k--;
if(k->second<b&&v-k->first==a||v-k->first<a)
b=k->second;
}
printf("%d %d\n",id,b);
if(c[v]==0||c[v]>id)
c[v]=id;
}
return 0;
}
Openjudge 3344 冷血格斗场
最新推荐文章于 2024-07-10 12:29:01 发布