#include<bits/stdc++.h>
using namespace std;
int n;
struct node{
int l,r;
};
node a[200005];
vector<node> ans;
bool cmp(node a,node b){
if(a.l!=b.l) return a.l<b.l;
return a.r<b.r;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d%d",&a[i].l,&a[i].r);
}
sort(a+1,a+n+1,cmp);
node now;
now.l=a[1].l,now.r=a[1].r;
for(int i=2;i<=n;i++){
if(now.r>=a[i].l){
now.r=a[i].r;
}
else{
ans.push_back(now);
now.l=a[i].l;
now.r=a[i].r;
}
}
ans.push_back(now);
for(int i=0;i<ans.size();i++){
cout << ans[i].l << " " << ans[i].r << endl;
}
return 0;
}
哪位神仙能告诉我哪里错了吗?(或给错误数据)
悬赏两个关注。