求条
查看原帖
求条
1367000
Ybll_楼主2025/1/18 14:06
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct node
{
	int x,y;
}a[200005];
int w,h,n,m=0,mx=-1,mn=0x3f3f3f3f,A,B,c[200005],b[200005];
map<pair<int,int>,int>mp;
bool cmp1(node i,node j)
{
	return i.x<j.x||i.x==j.x&&i.y<j.y;
}
bool cmp2(node i,node j)
{
	return i.y<j.y||i.y==j.y&&i.x<j.x;
}
signed main()
{
	cin>>w>>h>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i].x>>a[i].y;
	}
	cin>>A;
	for(int i=0;i<A;i++)
	{
		cin>>b[i];
	}
	b[A]=w;
	cin>>B;
	for(int i=0;i<B;i++)
	{
		cin>>c[i];
	}
	c[B]=h;
	sort(b,b+A+1);
	sort(c,c+B+1);
	sort(a,a+n,cmp1);
	for(int i=0,j=0;i<n;i++)
	{
		if(a[i].x<=b[j])a[i].x=j;
		else a[i].x=++j;
	}
	sort(a,a+n,cmp2);
	for(int i=0,j=0;i<n;i++)
	{
		if(a[i].y<=c[j])a[i].y=j;
		else a[i].y=++j;
	}
	for(int i=0;i<n;i++)
	{
		mx=max(mx,++mp[{a[i].x,a[i].y}]);
	}
	for(int i=0;i<n;i++)
	{
		mn=min(mn,mp[{a[i].x,a[i].y}]);
	}
	cout<<(mp.size()/(B+1)<(A+1)?0:mn)<<" "<<mx;
	return 0;
}
2025/1/18 14:06
加载中...