最后一个点TLE/kk
查看原帖
最后一个点TLE/kk
161653
wwhang楼主2020/7/29 10:05
#include<bits/stdc++.h>
using namespace std;
int a[1000001],b[1000001],n,m;
int c(int x)
{
    int l=1,r=n,d,i;
    while(l<=r)
	{
        d=(r+l)/2;
        if(a[d]==x)
		{
            for(i=d-1;i>=1;i--)
              if(a[i]!=a[d])
				return i+1;
            if(i==0)
			  return 1;
        }
        if(x<a[d])
		  r=d-1;
        else l=d+1;
    }
    return -1;
}
int main()
{
	int i;
    cin>>n>>m;
    for(i=1;i<=n;i++)
	  cin>>a[i];
    for(i=1;i<=m;i++)
	  cin>>b[i];
    for(i=1;i<=m;i++)
      cout<<c(b[i])<<" ";
    return 0;
}
2020/7/29 10:05
加载中...