jinhaoran2011 @ 2025-01-10 23:10:28
#include<bits/stdc++.h>
using namespace std;
int num=8;
struct op{
int l;
int b[10];
}p[1001];
int a[1001],lo[111];
void enter(int x)
{
while(x!=0)
{
num--;
lo[num]=x%10;
x=x/10;
}
}
int main()
{
int n,q;
cin>>n>>q;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=q;i++){
cin>>p[i].l;
for(int j=1;j<=p[i].l;j++){
char c;
cin>>c;
p[i].b[j]=c-'0';
}
}
for(int i=1;i<=q;i++)
{
bool fw=1;
for(int j=1;j<=n;j++)
{
bool f=1;
enter(a[j]);
int k=8;
for(int w=p[i].l;w>=1;w--)
{
k--;
if(lo[k]!=p[i].b[w])
{
f=0;
w=0;
}
}
if(f==1)
{
cout<<a[j]<<endl;
j=n+1;
}else{
fw=0;
}
}
if(fw==0)
{
cout<<-1<<endl;
}
}
return 0;
}