求助为什么wa了几个
查看原帖
求助为什么wa了几个
589197
lijh2021楼主2022/8/27 16:24
#include<iostream>
#include<algorithm>
using namespace std;
int a[100010],b[100010];
int m,n;
int searchb(int x)
{
	int l=1,r=m;
	while(l<=r)
	{
		int mid=(l+r)>>1;
		if(b[mid]==a[x])return 1;
		if(b[mid-1]<a[x]&&b[mid+1]>a[x])return 0;//未找到 
		if(b[mid]>a[x])r=mid;
		if(b[mid]<a[x])l=mid+1;
	}
	return 0;
}
int main()
{
	cin>>m>>n;
	for(int i=1;i<=m;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<=n;i++)
	{
		cin>>b[i];
	}
	sort(b+1,b+n+1);
	for(int i=1;i<=m;i++)
	{
		if(searchb(i))cout<<a[i]<<" ";
	}
	return 0;
}
2022/8/27 16:24
加载中...