超简单的站外题求助:WA
  • 板块学术版
  • 楼主__hjwucj__
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/3/12 16:35
  • 上次更新2024/3/12 19:24:34
查看原帖
超简单的站外题求助:WA
1021663
__hjwucj__楼主2024/3/12 16:35

题目链接 我的代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[1000001],maxi,mini,l,r=INT_MAX;
signed main ()
{
//	freopen ("work.in","r",stdin);
//	freopen ("work.out","w",stdout);
	cin>>n;
	for (int i=1;i<=n;i++)
	{
		int x,y;
		cin>>x>>y;
		if (x>y) swap (x,y);
		a[x+1]++,a[y+1]--;
		l=max (l,y);
		r=min (r,x);
	}
	for (int i=r;i<=l;i++)
		a[i]+=a[i-1];
	for (int i=r;i<=l;i++)
		if (a[i]>=1) a[i]=1;
	for (int i=r;i<=l;i++)
	{
		int t=i;
		while (a[t+1]>=1) t++;
		maxi=max (maxi,t-i);
		i=t+1;
	}
	for (int i=r;i<=l;i++)
	{
		int t=i;
		while (a[t+1]==0) t++;
		mini=max (mini,t-i);
		i=t+1;
	}
	cout<<maxi<<' '<<mini;
	return 0;
}
2024/3/12 16:35
加载中...