49分求助
查看原帖
49分求助
737014
Xuwindows_WS楼主2024/6/16 09:35
#include<bits/stdc++.h>
using namespace std;
int n;
struct t{
	int l,r;
}a[10001];
bool cmp(t x,t y)
{
	if(x.l<y.l)return true;
	else if(x.l==y.l&&x.r<y.r)return true;
	return false;
}
int maxh,maxn;
int main()
{
	memset(a,0,sizeof(a));
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].l>>a[i].r;
	}
	sort(a+1,a+n+1,cmp);
	int mx=0;
	for(int i=0;i<n;i++)
	{
		if(a[i].r>=a[i+1].l)
		{
			mx+=a[i+1].r-a[i].r;
		}
		else
		{
			maxh=max(mx,maxh);
			mx=a[i+1].r-a[i+1].l;
			if(i!=0)maxn=max(maxn,a[i+1].l-a[i].r);
		}
	}
	maxh=max(mx,maxh);
	cout<<maxh<<' '<<maxn<<endl;
	return 0;
}
2024/6/16 09:35
加载中...