249 条题解

  • 0
    @ 2026-1-13 16:57:57
    #include<bits/stdc++.h>
    using namespace std;
    long long n,m,a[100010],b[100010],mid,l,r;
    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);
        sort(b+1,b+1+m);
        for(int i=1;i<=m;i++)
        {
            bool p=0;
            l=1;
            r=n;
            while(l<=r)
            {
                mid=(l+r)/2;
                if(b[i]==a[mid])
                {
                    p=1;
                    break;
                }
                else if(a[mid]<b[i]) l=mid+1;
                    else r=mid-1;
            }
            if(p) cout<<b[i]<<' ';
        }
        return 0;
    }
    
    

    信息

    ID
    104
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    220
    已通过
    59
    上传者