本人code(WA三个,RE三个):
#include<bits/stdc++.h>
using namespace std;
bool a[100005];
int main(){
int n;
cin>>n;
int minx=100000,maxy=0;
for (int i=1;i<=n;i++){
int x,y;
cin>>x>>y;
minx=min(minx,x);
maxy=max(maxy,y);
for (int j=x;j<=y;j++)a[j]=true;
}
int ans1=0,ans2=0;
int x=minx;
while (x<=maxy){
x--;
if (a[x]){
int sum=0;
while (a[x]&&x<maxy)x++,sum++;
sum--;
ans1=max(ans1,sum);
}
if (!a[x]){
int sum=0;
while (!a[x]&&x<maxy)x++,sum++;
sum--;
ans2=max(ans2,sum);
}
x++;
}
cout<<ans1<<" "<<ans2+2<<"\n";
return 0;
}