求助dalao
查看原帖
求助dalao
232876
Programmtion楼主2020/7/28 09:57
#include <bits/stdc++.h>
using namespace std;
int a[100001],b[10001],n,m;
int search(int x){
    int l=1,r=n,mid;
    while(l<=r){
        mid=(r+l)/2;
        if(a[mid]==x){
        	int i;
            for(i=mid-1;i>=1;i--)
                if(a[i]!=a[mid]) return i+1;
            if(i==0) return i+1;
		}
        if(x<a[mid]) r=mid-1;
        else l=mid+1;
    }
    return -1;
}
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++){
		cout<<search(b[i])<<" ";
	}
	return 0;
}

为什么RE了

2020/7/28 09:57
加载中...