求助,样例过了但提交全WA还一个RE

P2249 【深基13.例1】查找

Starkiller123 @ 2023-03-20 17:48:12

#include<iostream>
using namespace std;
int n,m,a[100000001],b[100001];
int find(int x){
    int l,r,mid;
    l=1;
    r=x;
    while(l<=r){
        mid=(l+r)/2;
        if(a[mid]<x)r=mid-1;
        if(a[mid]>x)l=mid+1;
        if(a[mid]==x)return 1;
    }
    return 0;
}
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];
    for(int i=1;i<=m;i++){
        if(find(b[i])==1)
            cout<<i<<" ";
        else 
            cout<<"-1"<<" ";
    }
    return 0;
}

by ud2_ @ 2023-03-20 18:08:59

输出这个数字在序列中第一次出现的编号


|