求助,二分板子不知道为什么全是RE,大佬们帮帮忙
查看原帖
求助,二分板子不知道为什么全是RE,大佬们帮帮忙
738037
FengYue_Yu楼主2023/4/3 10:43
#include<iostream>
using namespace std;
int a[100005];

int find(int n,int f)
{
	int l=1,r=n;
	while(l<=r)
	{
		int mid=l+r>>1;
		if(a[mid]>=f)
			r=mid;
		else
			l=mid+1;
	}
	if(a[l]==f)
		return l;
	else
		return -1;
}

int main()
{
	int n,m;
	while(cin>>n>>m)
	{
		for(int i=1;i<=n;i++)
			cin>>a[i];
		while(m--)
		{
			int f;
			cin>>f;
			cout<<find(n,f)<<" ";
		}
		cout<<endl;
	}
}
2023/4/3 10:43
加载中...