合并区间 题解

jiaoyuyuan 2024-01-13 16:29:03 2 返回题目

#include<bits/stdc++.h>

using namespace std;

struct A{int a,b;};

A x[500005];

bool cmp(A x,A y){

return x.a<y.a;

} int main(){

int n,i,j,k;
cin>>n;
for(i=1;i<=n;i++){
	cin>>x[i].a>>x[i].b;
}
sort(x+1,x+n+1,cmp);
int l=x[1].a,r=x[1].b;
for(i=2;i<=n;i++){
	if(x[i].a<=r)
	  r=max(r,x[i].b);
	else{
		cout<<l<<' '<<r<<'\n';
	    l=x[i].a;r=x[i].b;
	}
}
cout<<l<<' '<<r<<'\n';
return 0;

}

{{ vote && vote.total.up }}