1 条题解

  • 0
    @ 2024-9-28 11:05:43
    #include<bits/stdc++.h> 
    using namespace std;
    
    int a[10000005],b[10000005];
    int n,s,q,m;
    
    int main(){
    	scanf("%d",&n);
    	scanf("%d",&m);
    	for(int i=1;i<=n;i++){
    		scanf("%d",&a[i]);
    	}
    	
        for(int i=0;i<m;i++){
        	scanf("%d",&b[i]);
        } 
    	for(int i=0;i<m;i++){
    		int l=1,r=n,d=0;
    		while(l<=r){
    			int mid =l + (r-l)/2;
    			if(a[mid]==b[i]){
    			    printf("%d\n",mid);
    		        d++;
    				break;	
    			}else if(a[mid]<b[i]){
    				l=mid+1;
    			}else if(a[mid]>b[i]){
    				r=mid-1;
    			}
    	    }
    	    if(d!=1){
    	        printf("%s\n","-1");
    		}
    	}
    }
    
    • 1

    信息

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