#include <bits/stdc++.h>
using namespace std;
int main() {
string st;
cin >> st;
int n = st.size();
int Q;
cin >> Q;
vector<pair<int,int>> subwords(Q);
vector<unordered_set<char>> subwords_chars(Q);
for (int i = 0; i < Q; i++) {
int a, b;
cin >> a >> b;
subwords[i] = {a-1, b-1};
}
vector<int> p(n);
for (int i = 0; i < n; i++) {
cin >> p[i];
p[i]--;
}
for (int i = n-1; i >= 0; i--) {
int pos = p[i];
char c = st[pos];
for (int j = 0; j < Q; j++) {
auto [l, r] = subwords[j];
if (pos >= l && pos <= r) {
if (subwords_chars[j].count(c)) {
cout << i + 1;
return 0;
}
subwords_chars[j].insert(c);
}
}
}
cout << 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |