#6 TLE
查看原帖
#6 TLE
1004366
qz5zxieliyi楼主2023/7/18 10:08
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1000001],q[100001];
void half(long long l,long long mid,long long r,int s)
{
	if(l>r)
	{
		cout<<-1<<" ";
		return;
	}
	else
	{
		if(a[mid]==s)
		{
			for(;mid>1;mid--)
			    if(a[mid-1]!=s)
					break;
			cout<<mid<<" ";
			return;
		}
		if(a[mid]>s)half(l,(l+mid-1)/2,mid-1,s);
		if(a[mid]<s)half(mid+1,(r+mid+1)/2,r,s);
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=m;i++)cin>>q[i];
	for(int i=1;i<=m;i++)
	    half(1,(n+1)/2,n,q[i]);
	return 0;
}
2023/7/18 10:08
加载中...