为啥样例对,却不过,玄关
查看原帖
为啥样例对,却不过,玄关
998650
OTH_chinese_dragon楼主2024/8/5 11:43
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
long long a[N];
long long q[N];
int main(){
	int n,m;
	
	cin >> n >> m;
	for(int i = 1; i <= n; i++){
		cin >> a[i];
	}
	
	for(int i = 1; i <= m; i++){
		cin>>q[i];
		int first=1,middle;
		int half,len;
		len = n;
		while(len > 0){
			
			half = len >> 1;
			middle = first + half;
			if(a[middle] < q[i]){    
				first = middle + 1;         
				len = len - half - 1; 
			}
			else{
				len = half;
			}        
		}
		if(a[first]!=q[i]){
			cout<<"-1 ";
		}else{
			cout<<i<<" ";
		}
	}
	
	return 0;
} 
2024/8/5 11:43
加载中...