- 问答
区间合并90分,求找错
- 2022-12-6 20:27:54 @
#include
using namespace std;
struct node{
long long x,y;
}a[100100];
int n;
long long k;
bool cmp(node aa,node bb)
{
return aa.x<bb.x;
}
int main()
{
scanf("%d",&n);
for(register int i=1;i<=n;++i)
scanf("%lld%lld",&a[i].x,&a[i].y);
sort(a+1,a+n+1,cmp);
a[n+1].x=a[n+1].y=1e12;
k=a[1].y;
// for(register int i=1;i<=n;++i)
// printf("%lld %lld\n",a[i].x,a[i].y);
for(register int i=2;i<=n+1;++i)
{
if((a[i].x-1)<=k)
{
k=max(k,a[i].y);
a[i].x=min(a[i].x,a[i-1].x);
}
else
{
printf("%lld %lld\n",a[i-1].x,k);
k=a[i].y;
}
}
return 0;
}
0 条评论
目前还没有评论...