64分求助!1个WA,1个TLE,为什么测试点1就WA?
大佬们快来瞧一瞧,看一看!
#include<iostream>
#include<algorithm>
using namespace std;
long long n,m;
long long a[1000001];
long long b[100001];
void chazhao(int z)
{
long long ans;
long long left,right;
long long mid;
ans=-1;
left=1;
right=n;
mid=(left+right)/2;
while(left<=right)
{
mid=(left+right)/2;
if(a[mid]>z)
{
right=mid-1;
}
if(a[mid]<z)
{
left=mid+1;
}
if(a[mid]==z)
{
long long i;
i=mid-1;
ans=mid;
while(a[i]==z)
{
i--;
ans--;
}
break;
}
}
cout<<ans<<" ";
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=m;i++)
{
cin>>b[i];
}
for(int i=1;i<=m;i++)
{
chazhao(b[i]);
}
return 0;
}