全WA求调
查看原帖
全WA求调
374168
liswill楼主2021/6/23 18:04
#include<bits/stdc++.h>

using namespace std;

int n,m;

struct lx
{
	int num;
	int idx;
};

lx a[1000006];
int main()
{
	scanf("%d",&n,&m);
	int xb=1,x;
	a[1].idx=1;
	cin>>a[1].num;
	for(int i=2;i<=n;i++)
	{   
		xb++;
		cin>>x;
		if(x==a[i-1].num)	continue;
		a[i].num=x;
		a[i].idx=xb;
	}             //输入
	for(int i=1;i<=m;i++)
	{
		int tmp;
		cin>>tmp;
		int x=1,y=n,mid;
		if(a[x].num==tmp)	cout<<a[x].num<<' ';
		if(a[y].num==tmp)	cout<<a[y].num<<' ';
		while(x<=y)
		{
			mid=(x+y)/2;
			if(a[mid].num==tmp)	break;
			if(a[mid].num<tmp)  x=mid+1;
			else y=mid-1;
		}
		if(a[mid].num!=tmp)	cout<<"-1\n";
		else printf("%d ",mid); 
	} 
	return 0;
}

2021/6/23 18:04
加载中...