Submission #1263629

#TimeUsernameProblemLanguageResultExecution timeMemory
1263629kustov_vadim_533Modern Machine (JOI23_ho_t5)C++20
3 / 100
3095 ms840 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...