ABC D求调
  • 板块学术版
  • 楼主little_Yi
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/6/3 23:15
  • 上次更新2023/10/23 13:56:06
查看原帖
ABC D求调
910802
little_Yi楼主2023/6/3 23:15
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> PI;
const int N=2e5+10;
ll w,h,n,a[N],b[N],A,B,x[N],y[N],mi=1e9,mx,l,r,l1,r1,cnt;
map<PI,ll> m;
int main(){
	scanf("%lld%lld%lld",&w,&h,&n);
	for(int i=1;i<=n;i++){
		scanf("%lld%lld",&x[i],&y[i]);
	} 
	scanf("%lld",&A);
	for(int i=1;i<=A;i++) scanf("%lld",&a[i]);
	a[A+1]=w;
	scanf("%lld",&B);
	for(int i=1;i<=B;i++) scanf("%lld",&b[i]);
	b[B+1]=h;
	for(int i=1;i<=n;i++){
		l=-1,r=A+2;
		while(l+1<r){
			int mid=(l+r)/2;
			if(a[mid]<=x[i]) l=mid;
			else r=mid;
		}
		l1=-1,r1=B+2; 
		while(l1+1<r1){
			int mid=(l1+r1)/2;
			if(b[mid]<=y[i]) l1=mid;
			else r1=mid;
		}
		if(!m[{l,l1}]) cnt++;
		m[{l,l1}]++;
		mx=max(mx,m[{l,l1}]);
		mi=min(mi,m[{l,l1}]);
	}
	if(cnt<1ll*(A+1)*(B+1)) mi=0;
	printf("%lld %lld",mi,mx);
}
2023/6/3 23:15
加载中...