为什么卡我两个点

P3955 [NOIP2017 普及组] 图书管理员

傻狗凉 @ 2020-10-18 16:05:26

#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;
}

|