#include <iostream>
#include <algorithm>
using namespace std;
struct node
{
int start,end;
};
bool cmp(node a,node b){
return a.start<b.start;
}
node a[5005];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i].start>>a[i].end;
}
sort(a,a+n,cmp);
int start=a[0].start,end=a[0].end;
int temp1=0,temp2=0;
for(int i=1;i<n;i++){
if(a[i].start<=end){
end=max(end,a[i].end);
}else{
temp1=max(temp1,end-start);
temp2=max(temp2,a[i].start-end);
start=a[i].start;
end=a[i].end;
}
}
temp1=max(temp1,end-start);
cout<<temp1<<' '<<temp2<<endl;
return 0;
}
洛谷p1204(线段的最长覆盖)
最新推荐文章于 2024-05-11 00:15:35 发布