蒟蒻刚刚学二分,求助
查看原帖
蒟蒻刚刚学二分,求助
506649
昊轩啥也不是楼主2021/10/5 12:33

这个为什么会TLE啊,求帮忙!

#include<bits/stdc++.h>
using namespace std;
int n,m,a[1000005],b[100005],c[100005],ans=0,i;
int chen_zhe(int x){
	int i,left=1,right=n+1;
	int mid=(left+right)/2;
	while(left<right){
		if(a[mid]==x) return a[mid];
		else if(a[mid]>x) right=mid-1;
		else left=mid+1;
	}
	return -1;
}
int main(){
	cin>>n>>m;
	for(i=1;i<=n;i++)
	cin>>a[i];
	for(i=1;i<=m;i++){
		cin>>b[i];
		c[++ans]=chen_zhe(b[i]);
	}
	for(i=1;i<=ans;i++) cout<<c[i]<<" ";
	return 0;
}
2021/10/5 12:33
加载中...