求指正错误
查看原帖
求指正错误
206423
焚魂楼主2020/6/2 17:46

第一个点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;
}
2020/6/2 17:46
加载中...