12分求助QAQ
查看原帖
12分求助QAQ
939000
hope_accepted楼主2023/12/1 21:19
#include<bits/stdc++.h>
using namespace std;
struct f{
	int l;
	int r;
}a[100001];
bool cmp(f b,f c)
{
	return b.l<c.l;
}
int main()
{
	int len;
	cin>>len;
	for(int i=0;i<len;i++)
	{
		cin>>a[i].l>>a[i].r;
	}
	if(len==1)
	{
		cout<<a[0].r-a[0].l<<" "<<0;
		return 0;
	}
	int maxl=0;
	int maxr=0;
	for(int i=0;i<len;i++)
	{
		if(a[i].r>=a[i+1].l&&a[i].r<a[i+1].r)
		{
			if(maxl<(a[i+1].r-a[i].l))
			{
				maxl=a[i+1].r-a[i].l;
			}
		}
		else if(a[i].r==a[i+1].r)
		{
			if(a[i].l>a[i+1].l&&maxl<a[i].r-a[i].l)
			{
				maxl=a[i].r-a[i].l;
			}
			else if(a[i].l<a[i+1].l&&a[i+1].r-a[i+1].l>maxl)
			{
				maxl=a[i+1].r-a[i+1].l;
			}
		}
		else if(a[i].r<a[i+1].l)
		{
			if(maxr<(a[i+1].l-a[i].r))
			{
				maxr=a[i+1].l-a[i].r;
			}
		}
	}
	cout<<maxl<<" "<<maxr;
	return 0;
}

2023/12/1 21:19
加载中...