样例过了,9WA1T求调
查看原帖
样例过了,9WA1T求调
1048171
Li_wc0802楼主2023/11/26 18:30
#include<iostream>
using namespace std;
int n,m,a[1000005],q;
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for(int i=1;i<=m;i++)
	{
		scanf("%d",&q);
		int l,r,mid,flag=-1;
		l=1;r=n;
		while(l<r)
		{
			mid=(l+r)/2;
			if(a[mid]==q)
			{
				int t=mid;
				while(a[t]==q)t--;
				flag=t+1;
				break;
			}
			else
			{
				if(q>a[mid])
					l=mid+1;
				else 
					r=mid-1;
			 } 
		}
		printf("%d ",flag);
	}
	return 0;
}
2023/11/26 18:30
加载中...