P2249查找

#include<stdio.h>
#define M 1000010
int a[M],n,m,q;
int Find(int key)
{
int l=0,r=n+1,mid;
while(l+1<r)
{
mid=(l+r)/2;
if(a[mid]>=key) r=mid;
else l=mid;
}
return a[r]==key ? r : -1;
}
int main()
{
scanf("%d %d",&n,&m);
int i;
for(i=1;i<=n;++i) scanf("%d",&a[i]);
while(m--)
{
scanf("%d",&q);
printf("%d ",Find(q));
}
return 0;
}

浙公网安备 33010602011771号