我是直接用二维数据组做索引,这样更快

#include<iostream>
#include<algorithm>
using namespace std;
int qpow(int a, int b) { int res = 1; while (b) { if (b & 1)res = res * a; b >>= 1; a = a * a; }return res; }
int n, q, t;
int num[1010][9], tim[1010];

int getlen(int tt) {
    int sum = 0;
    while (tt) {
        tt /= 10;
        sum++;
    }
    return sum;
}

int main() {
    cin >> n >> q;
    for (int i = 0; i < n; i++) {
        cin >> t;
        tim[i] = t;
        int len = getlen(t);
        for (int j = 1; j < 9; j++) {
            if (len >=j) {
                num[i][j] = t % qpow(10, j);
            }
            else {
                num[i][j] = -1;
            }
        }
    }
    while (q) {
        q--;
        int ss, ll, an=1000000000;
        cin >> ss >> ll;
        int flag = -1;
        for (int i = 0; i < n; i++) {
            if (num[i][ss])
            {
                if (num[i][ss] == ll)
                {
                    flag = 1;
                    an = min(an, tim[i]);
                }
                else {
                
                }
            }
        }
        if (flag==1)
        {
            cout << an << endl;
        }
        else {
            cout << "-1" << endl;
        }
    }
    return 0;
}