先打了一个解法发现是错的,后来改成线段树区间覆盖过了,不过我还是想知道我原解法为啥错了,求HACK
//D
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
struct Set{int l,r;}a[N];
int n;
bool cmp(Set x,Set y){
if(x.l==y.l) return x.r<y.r;
return x.l<y.l;
}
int main(){
scanf("%d",&n);
for(register int i=1;i<=n;i++) scanf("%d %d",&a[i].l,&a[i].r);
a[n+1].l=1e9,a[n+1].r=1e9;
n++;
sort(a+1,a+n+1,cmp);
int l=a[1].l,r=a[1].r;
for(register int i=2;i<=n;i++){
if(a[i].l>a[i-1].r){
printf("%d %d\n",l,r);
l=a[i].l,r=a[i].r;
}else r=max(r,a[i].r);
// printf("SEG %d %d\n",a[i].l,a[i].r);
}
}