初学者二分 救救我啊 0WA了 不知道为什么 求调
查看原帖
初学者二分 救救我啊 0WA了 不知道为什么 求调
1262977
RealGzsJAY楼主2024/7/1 13:26
#include <iostream>
#include <vector>
using namespace std;
int n,m,am;
int find(int target,vector<int>& an){
	int l=0,r=n-1;
	while(l <= r){
		int mid = (l + r)/2;
		if(target == an[mid]) return mid;
		if(target < an[mid]){
			r = mid-1;
		}else if(target > an[mid]){
			l = mid+1;
		}
	}
	return -1;
}
int main(){
	cin>>n>>m;
	vector<int> an(n);
	for(int i=0;i<n;i++){
		cin>>an[i];
	}
	for(int i=0;i<m;i++){
		cin>>am;
		if(find(am,an) == 0){
			cout<<1<<' ';
			continue;
		}
		cout<<find(am,an)<<' ';
	}
	
}

我咋办啊擦

2024/7/1 13:26
加载中...