只过了3个点
查看原帖
只过了3个点
540562
wxr0108楼主2022/10/2 11:13
#include<bits/stdc++.h>
using namespace std;
int a[114514],b[114514],x[114514];
int kk(int t){
	int ans=1;
	for(int i=1;i<=t;i++) ans*=10;
	return ans;
}
int main(){
	int n,q;
	cin>>n>>q;
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=1;i<=q;i++){
		//int x;
		cin>>x[i]>>b[i];
	}
	long long mmin=1000000;
	for(int i=1;i<=q;i++){
		long long mmin=1000000;
		for(int j=1;j<=n;j++){
			int t=x[i];//先求出摸多少位
			if((a[j]%kk(t))==b[i]&&a[j]<mmin){//如果符合条件且是当前最小值
				mmin=a[j];
			}
		}
		if(mmin!=1000000) cout<<mmin<<endl;
		else cout<<"-1\n";
	}
	return 0;
}
2022/10/2 11:13
加载中...