求助!!!!!
查看原帖
求助!!!!!
639483
FiresonZ楼主2022/1/13 19:08
#include<iostream>
#include<array>
using namespace std;
using gg=long long;
array<gg,1000001> a;
gg turn(gg w)
{
	if(w==-1)
	{
		return -1;
	}
	if(a[w-1]==a[w])
	{
		return turn(w-1);
	}
	else
	{
		return w;
	}
}
gg qsearch(gg const b,gg l,gg r)
{
	while(l<=r)
	{
		gg mid=(l+r)/2;
		if(a[mid]==b)
		{
			return mid;
		}
		else if(a[mid]>b)
		{
			r=mid-1;
		}
		else
		{
			l=mid+1;
		}
	}
	return -1;
}
int main()
{
	gg n,m,temp;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<=m;i++)
	{
		cin>>temp;
		cout<<turn(qsearch(temp,1,n))<<' ';
	}
	return 0;
}

第一个WA,最后一个超时。

2022/1/13 19:08
加载中...