1 条题解

  • 1
    @ 2024-12-17 16:32:20
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	int n,m,a[100001],b[100001],c[100005];
    	cin>>n>>m;
    	for(int i=1;i<=n;i++){
    		cin>>a[i];
    	}
    	for(int i=1;i<=m;i++){
    		cin>>b[i];
    		int l=1,r=n,ans=0;	
    	while(l<=r){
    		int mid=(l+r)/2;
    		if(a[mid]==b[i]){
    			ans=mid;
    			l=mid+1;
    		}
    		else if(a[mid]>b[i]){
    			r=mid-1;
    		}
    		else if(a[mid]<b[i]){
    			l=mid+1;
    		}
    	}
    		if(ans==0){
    			c[i]=-1;
    		}
    		else{
    			c[i]=ans;
    		}
    	}
    	for(int i=1;i<=m;i++){
    		cout<<c[i]<<endl;
    	}
    	
    
    	
    	
    	return 0;
    }
    小鸟
    
    
    • 1

    信息

    ID
    3099
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    8
    已通过
    4
    上传者