P2249 【深基13.例1】查找

点击查看代码
#include<bits/stdc++.h>
using namespace std;

const int N=1e6+10;
int n,m,q;
int a[N];

int main()
{
    ios::sync_with_stdio(0),cin.tie(0);
    cin>>n>>m;

    for(int i=1;i<=n;i++) cin>>a[i];

    for(int i=0;i<m;i++){
        int q;
        cin>>q;
        int l=1,r=n;
        while(l<r){
            int mid=l+(r-l)/2;
            if(a[mid]>=q){
                r=mid;
            }else{
                l=mid+1;
            }
        }
        if (a[l] == q) {
            cout << l << " ";
        } else {
            cout << -1 << " ";
        }
    }

    return 0;
    
}
posted @ 2026-01-25 22:15  AnoSky  阅读(2)  评论(0)    收藏  举报