Submission #565639

#TimeUsernameProblemLanguageResultExecution timeMemory
565639haxormanElection (BOI18_election)C++14
28 / 100
3063 ms640 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
 
const int mxN = 5e5 + 7;

int32_t main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

	int n;
	string s;
	cin >> n >> s;

	int q;
	cin >> q;
	while (q--) {
		int l, r;
		cin >> l >> r;
		--l, --r;
		
		int ans = 0, c = 0, t = 0;
		set<int> used;
		for (int i = l; i <= r; ++i) {
			if (s[i] == 'C') {
				++c;
			}
			else {
				++t;
			}

			if (t > c) {
				t--;
				++ans;
				used.insert(i);
			}
		}

		c = t = 0;
		for (int i = r; i >= l; --i) {
			if (s[i] == 'C') {
				++c;
			}
			else if (!used.count(i)) {
				++t;
			}

			if (t > c) {
				t--;
				++ans;
			}
		}
		cout << ans << "\n";
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...