求助
查看原帖
求助
545507
pl_cosmonaut楼主2021/9/12 22:58

一直RE!

#include<bits/stdc++.h>
using namespace std;
int a[100001],b[10005];
int main(){
	int n,m,mid,r,l=1,flag=0;
	cin>>n>>m;
	r=n;
	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++){
		while(r>l){
			mid=(r-l)/2+l;
			if(a[mid]<b[i]){
				l=mid+1;
			}
			if(a[mid]>=b[i]){
				r=mid;
			}
			if(a[mid]==b[i]&&a[mid-1]!=b[i]){
			cout<<mid<<" ";
			r=1;
			flag=1;
			}
		}
		if(flag==0){
			cout<<"-1"<<" ";
		}
		flag=0;
		r=n;
		l=1;
	}
	return 0;
}

2021/9/12 22:58
加载中...