家人们帮我看看 第一个测试点wr 最后一个测试点tle
查看原帖
家人们帮我看看 第一个测试点wr 最后一个测试点tle
462159
失败尽常态楼主2021/9/18 15:20
#include<bits/stdc++.h>
using namespace std;
const int maxn=10000005;
long long int a[maxn],b[maxn];
int search(long long aa[],int nn,int k){
	int l=1,r=nn;
	while(l<=r){
		int mid=(l+r)/2;
		if(aa[mid]==k){
			while(aa[mid]==k){
				mid--;
			}
			return mid+1;
		}
		if(aa[mid]>k){
			r=mid-1;
		}
		else{
			l=mid+1;
		}
	}
	return -1;
}
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>>b[i];
		int c=b[i];
		cout<<search(a,n,c)<<" ";
	}
	return 0;
}
2021/9/18 15:20
加载中...