map을 이용해서 string 값에 해당하는 인덱스를 설정해주면 됨
#include <bits/stdc++.h>
#include<unordered_set>
#include<unordered_map>
using namespace std;
int n, m;
string s[100001];
unordered_map<string, int> um;
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> s[i];
um[s[i]] = i;
}
while (m--) {
string s1;
cin >> s1;
if (s1[0] >= '0' && s1[0] <= '9') {
cout << s[stoi(s1)] << '\n';
}
else {
cout << um[s1] << '\n';
}
}
}