제출 #159619

#제출 시각아이디문제언어결과실행 시간메모리
159619iefnah06Election (BOI18_election)C++11
28 / 100
3049 ms1460 KiB
#include<bits/stdc++.h>
using namespace std;

const int MAXN = 5.1e5;
int N, Q;
string S;

string go(string s) {
	string t;
	int cur = 0;
	for (char c : s) {
		if (c == 'C') {
			cur++;
			t += c;
		} else if (cur > 0) {
			cur--;
			t += c;
		}
	}
	return t;
}

int solve(string s) {
	string t = go(s);
	reverse(t.begin(), t.end());
	t = go(t);
	return int(s.size() - t.size());
}

int main() {
	ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> N >> S >> Q;
	while (Q--) {
		int l, r; cin >> l >> r; l--;
		cout << solve(S.substr(l, r-l)) << '\n';
	}

	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...