为什么卡我两个点
查看原帖
为什么卡我两个点
260644
傻狗凉楼主2020/10/18 16:05
#include <bits/stdc++.h>
using namespace std;
int n,q;
int bk[1005],xqm[1005],fhb[1005],nd[1005],lng[1005];
int zs(int n)
{
	int x=1;
	for(int i=0;i<n;++i)
		x*=10;
	return x;
}
int main(){
	cin>>n>>q;
	for(int i=0;i<n;++i)
		cin>>bk[i];
	for(int i=0;i<q;++i)
	{
		cin>>lng[i];
		cin>>xqm[i];
	}
	for(int i=0;i<n;++i)
		fhb[i]=10000005;
	for(int i=0;i<q;++i)
	{
		int s=0,x=zs(lng[i]);
		for(int j=0;j<n;++j)
			if(bk[j]%x==xqm[i])
				fhb[i]=min(fhb[i],bk[j]);
		if(fhb[i]==10000005)
			nd[i]=-1;
		else nd[i]=fhb[i];
	}
	for(int i=0;i<q;++i)
		cout<<nd[i]<<endl;
	return 0;
}
2020/10/18 16:05
加载中...