84分,第一个WA
查看原帖
84分,第一个WA
237456
joewang楼主2023/7/28 22:46

本人蒟蒻,啥也不会,求大佬帮忙

#include <bits/stdc++.h>

using namespace std;

long long n,m,a[1000010],b[100010];

long long fun(long long l,long long r,long long t)
{
	long long mid=(l+r)/2;
	if(l>r)
	{
		return -1;
	}
	if(a[mid]<t)
	{
		fun(mid+1,r,t);
	}
	else if(a[mid]>t)
	{
		fun(l,mid-1,t);
	}
	else if(a[mid-1]==t)
	{
		fun(l,mid-1,t);
	}
	else
	{
		return mid;
	}
}

int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<=m;i++)
	{
		cin>>b[i];
	}
	for(int i=1;i<=m;i++)
	{
		if(i!=1)
		{
			cout<<" ";
		}
		cout<<fun(1,n,b[i]);
	}
	cout<<endl;
	return 0;
}
2023/7/28 22:46
加载中...