全RE求助
查看原帖
全RE求助
539770
ggggcyyyy楼主2022/7/11 19:43
#include<bits/stdc++.h>
using namespace std;

//inline int ir(int n){scanf("%d",&n);return n;}
//inline long long lr(long long n){scanf("%ld",&n);return n;}
//inline double dr(double n){scanf("%lf",&n);return n;}
//inline string read(){char ch = getchar();string st1 = "";while(!(ch >= 'a' && ch <= 'z')) ch = getchar();while(ch >= 'a' && ch <= 'z') st1 += ch, ch = getchar();return st1;}

long long m,n,p,i,j,h,t,mid,a[100001],req[100001];
long long f(long long x)
{
	long long h=1;
	long long t=m;
	while(h<t)
	{
		long long mid=(t+h)/2;
		if(a[mid]>=x) t=mid;
		else h=mid+1;
	}
	if(a[h]==x) return h;
	return -1;
}
int main()
{
	scanf("%d%d",&m,&n);
	for(i=1;i<=m;i++)
	    scanf("%d",&a[i]);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&p);
		printf("%d ",f(p));
	}
	
	return 0;
}

样例没问题

2022/7/11 19:43
加载中...