大佬们能都帮我看看问题在哪,0分
查看原帖
大佬们能都帮我看看问题在哪,0分
1282382
ZJdog楼主2024/4/2 18:46
#include<bits/stdc++.h>
using namespace std;
const int N=1000010;
int n,m;
int a[N],b[N];

int find_2(int x,int l,int r){
    while(l<r){
        int mid=l+r>>1;
        if(a[mid]>=x){
            r=mid;
        }else l=mid+1;
    }
    if(a[l]!=x){
        l=-1;
    }
    printf("%d ",l);

}

int main(){
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
    }
    for(int j=1;j<=m;j++){
        scanf("%d",&b[j]);
    }
    for(int k=1;k<=m;k++){
        find_2(b[k],1,n);
    }
    return 0;
}
2024/4/2 18:46
加载中...