这个题
看起来
很简单
但是
我
卡在了62
悲痛欲绝
其实是该和end1比较
但是我全和t[i].e做的比较
玩家[Tirpitz]打出了GG
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<queue>
#include<vector>
using namespace std;
struct nico
{
int s,e;
}t[5000+5];
int n,i,start1,end1,ans1,ans2;
int comp(nico a,nico b)
{
return a.s<b.s;
}
int main()
{
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d%d",&t[i].s,&t[i].e);
sort(t+1,t+n+1,comp);
start1=t[1].s;
end1=t[1].e;
ans1=end1-start1;
for(i=1;i<=n-1;i++)
{
if(t[i+1].e<end1) continue;
if(end1>=t[i+1].s)
{
end1=max(end1,t[i+1].e);
ans1=max(ans1,end1-start1);
}
if(end1<t[i+1].s)
{
end1=max(end1,t[i].e);
ans1=max(ans1,end1-start1);
ans2=max(ans2,t[i+1].s-end1);
start1=t[i+1].s;
end1=t[i+1].e;
}
}
printf("%d %d",ans1,ans2);
return 0;
}