求调
查看原帖
求调
1086735
LYQ_666楼主2024/7/14 16:13
#include <iostream> 
using namespace std;
long long a[100002],b,w[100002]; 
int main()
{
	int n,m,mid,l,r,i,q=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		w[i]=-1;
	}
    for(int i=1;i<=m;i++)
    {
    	cin>>b; 
		l=1;r=n;q=0;
        while(l<=r)
        {
    	    mid=(l+r)/2;   	    
	    	if(b==a[mid]) 
	    	{
	    		w[i]=mid;
	    		break;
			}
	    	else if(a[mid]>b) r=mid-1;
	    	else if(a[mid]<b) l=mid+1;
	    }
    }
    for(int i=1;i<=m;i++)
	{
	    if(w[i]==-1) cout<<"-1"<<" ";
	    else cout<<w[i]<<" ";
	}
	return 0;
}
2024/7/14 16:13
加载中...