传输
  • 板块灌水区
  • 楼主chenwnejiang
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/27 16:28
  • 上次更新2024/7/27 17:29:26
查看原帖
传输
1082228
chenwnejiang楼主2024/7/27 16:28
#include<bits/stdc++.h>
using namespace std;
const long long MAXx=500050;
long long a[MAXx];
long long n,x,m,sum;
long long b[MAXx];
bool check(long long k){
	long long l=1,r=m,mid;
	while(l<=r){
		mid=(l+r)/2;
		if(k<b[mid]){
			r=mid-1;
		}
		else if(k>b[mid]){
			l=mid+1;
		}
		else{
			return 1;
		}
	}
	return 0;
}
int main(){
	scanf("%d%d",&n,&m);
	for(long long i=1;i<=n;i++){
		scanf("%lld",&a[i]);
	}
	for(long long i=1;i<=m;i++){
		scanf("%lld",&b[i]);
	}
	long long ans=0;
	sort(b+1,b+m+1);
	for(long long i=1;i<=n;i++){
		if(check(a[i])){
			a[i]=0;
		}
	}
	long long flag=0;
	for(long long i=1;i<=n;i++){
		if(a[i]!=0&&flag==0){
			flag=1;
			ans++;
		}
		if(a[i]==0&&flag==1){
			flag=0;
		}
	}
	cout<<ans;
	return 0;
}
2024/7/27 16:28
加载中...