1 条题解

  • 0
    @ 2026-5-30 18:14:12

    #include<bits/stdc++.h> using namespace std;

    int a[100005],b[100005],n,m,s;

    bool check(int x){

    int l=1,r=n;
    
    while(l<=r){
    
    	int mid=(l+r)/2;
    
    	if(a[mid]==x)return true;
    
    	else if(a[mid]<x)l=mid+1;
    
    	else r=mid-1; 
    
    }
    
    return false;
    

    }

    int main(){

    cin>>n>>m;
    
    for(int i=1;i<=n;i++){
    
    	cin>>a[i];
    
    }
    
    for(int i=1;i<=m;i++){
    
    	cin>>b[i];
    
    }
    
    sort(a+1,a+n+1);
    
    for(int i=1;i<=m;i++){
    
    	if(check(b[i]))s++;
    
    }
    
    cout<<s;
    
    return 0;
    

    }

    信息

    ID
    3533
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    2
    已通过
    2
    上传者