全RE,求解
查看原帖
全RE,求解
289296
zymooll楼主2020/12/25 18:31
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[100010],ls;
int rfind(int num,int xb){
    while(a[xb]==num)xb--;
    return xb+2;
}
int find(int num){
    int l=0,r=n-1;
    while(l<=r){
        int mid=(l+r)/2;
        if(num==a[mid]){
            return rfind(num,mid);
        }
        if(num>a[mid]){
            l=mid+1;
        }
        else{
            r=mid-1;
        }
    }
    return -1;
}
int main(){
    cin>>n>>m;
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    for(int i=0;i<m;i++){
        cin>>ls;
        cout<<find(ls)<<" ";
    }
    return 0;
}
2020/12/25 18:31
加载中...