rt
#include<bits/stdc++.h>
using namespace std;
int n;
struct far{
int l,r;
} s[5005];
bool cmp(far x,far y){
if(x.l==y.l) return x.r<y.r;
return x.l<y.l;
}
int n1,l1,r1,n2,l2,r2;
int main(){
cin>>n;
for(int i=1;i<=n;++i){
cin>>s[i].l>>s[i].r;
}
sort(s+1,s+n+1,cmp);
for(int i=1;i<=n;++i){
if(s[i].l>r1){
n1=max(n1,r1-l1);
l1=s[i].l;r1=s[i].r;
}
if(s[i].r>=r1){
r1=s[i].r;
}
}
n1=max(n1,r1-l1);l2=s[1].r;r2=s[1].r;
for(int i=2;i<=n;++i){
if(s[i].l>r2){
r2=s[i].l;
n2=max(n2,r2-l2);
l2=s[i].r;
}
}
n2=max(n2,r2-l2);
printf("%d %d",n1,n2);
return 0;
}
挂在最后一个点的第二小问。
样例:8。
我:3。
狂调40min,求助!