#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
#define len(v) (int)((v).size())
template<typename T>
ostream& operator<<(ostream& out, const vector<T> &a){
for (auto& x : a){
out << x << ' ';
}
out << '\n';
return out;
}
template<typename T>
istream& operator>>(istream& in, vector<T> &a){
for (size_t i = 0; i < a.size(); ++i){
in >> a[i];
}
return in;
}
mt19937 gen;
inline void solve() {
int n, m;
cin >> n >> m;
vector<char> c(n);
vector<int> a(m);
for (int i = 0; i < n; ++i){
cin >> c[i];
}
for (int j = 0; j < m; ++j){
cin >> a[j];
--a[j];
}
int q;
cin >> q;
for (int j = 0; j < q; ++j){
int l, r;
cin >> l >> r;
--l, --r;
vector<char> b = c;
for (int f = l; f <= r; ++f){
b[a[f]] = 'R';
int v = a[f];
while (v >= 0 && v < n){
if (b[v] == 'R'){
b[v] = 'B';
++v;
}
else{
b[v] = 'R';
--v;
}
}
}
int ans = 0;
for (int i = 0; i < n; ++i){
ans += b[i] == 'R';
}
cout << ans << '\n';
}
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cout.precision(60);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
}
# | 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... |