3 条题解

  • 1
    @ 2026-1-5 17:22:20
    #include<iostream>
    #include<cstdio>
    #include<vector>
    #include<algorithm>
    #include<future>
    #include<cstring>
    using namespace std;
    int a[1000010];
    inline int read(){
        int x=1,y=0;
        char ch=getchar();
        while(ch<'0'||ch>'9'){
            if(ch=='-')x=-1;
            ch=getchar();
        }
        while(ch>='0'&&ch<='9'){
            y=y*10+ch-'0';
            ch=getchar();
        }
        return x*y;
    }
    inline void write(int n){
        if(n<0)putchar('-'),n=-n;
        if(n>9)write(n/10);
        putchar(n%10+'0');
    }
    int binarySearch(const vector<int>&arr,int target){
        int pos = upper_bound(a,a+arr.size(),target)-a;
        if (a[pos-1]==target)return pos;
        else return -1;
    }
    void asyncRead(vector<int>&arr,int n){
        for(int i=0;i<n;++i)
        arr[i]=read();
    }
    int main(){
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int n=read(),m=read();
        vector<int>arr(n);
        asyncRead(arr,n);
        sort(arr.begin(),arr.end());
        for(int i=0;i<arr.size();i++){
            a[i]=arr[i];
        }
        while(m--){
            int q=read();
            int result=binarySearch(arr,q);
            write(result);putchar('\n');
        }
        return 0;
    }
    
    

    信息

    ID
    13834
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者