第一个点wa最后一个点TLE
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m;
int x[1000010],q[100010];
#define IO ios::sync_with_stdio(false);cin.tie(0)
void local(int xx)
{
int l=1,r=n,mid;
while(l<=r)
{
mid=(l+r)/2;
if(x[mid]<=q[xx])
l=mid+1;
else r=mid-1;
}
if(x[r]==q[xx])
{
while(x[r]==q[xx])
r--;
r++;
cout<<r<<" ";
}
else
cout<<-1<<" ";
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&x[i]);
for(int i=1;i<=m;i++)
scanf("%d",&q[i]);
for(int i=1;i<=m;i++)
local(i);
return 0;
}