P2249 【深基13.例1】查找
查看原帖
P2249 【深基13.例1】查找
917793
BQianYi楼主2023/2/5 20:32

样例全过但是0分,请问哪里有问题呢

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,a[1000005],b[100005];
int main()
{
	//shuru
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);;//待查询的数字
	}
	for(int i=1;i<=m;i++)
	{
		scanf("%d",&b[i]);//询问这些数字的编号
	}
	sort(a+1,a+1+n);
	for(int i=1;i<=m;i++)
	{
		int l=1;
		int r=m;
		int flag=0;
		while(l<=r)
		{
			int mid=l+(r-l)/2;
			if(a[mid]==b[i])
			{
				cout<<mid<<" ";
				flag=1;
				break;
			}
			else if(a[mid]>b[i])
			{
				r=mid-1;
			}
			else l=mid+1;
		}
		if(flag==0)
		cout<<"-1"<<" ";
	}
	return 0;  
}
2023/2/5 20:32
加载中...