Submission #789077

#TimeUsernameProblemLanguageResultExecution timeMemory
789077Genius3435Election (BOI18_election)C++17
28 / 100
3071 ms1204 KiB
#include <bits/stdc++.h>
using namespace std;

int constexpr N = 1<<19;
int upd[N];
char s[N];

int main() {
    int n; cin >> n >> s;
    int q; cin >> q;
    for (int qi = 1; qi <= q; ++qi) {
        int l, r; cin >> l >> r; --l;

        int ans = 0, c = 0;
        for (int i = l; i < r; ++i) {
            c += s[i] == 'C' ? 1 : -1;
            if (c < 0) {
                upd[i] = qi;
                c += 1;
                ans += 1;
            }
        }
        c = 0;
        for (int i = r-1; i >= l; --i) {
            c += s[i] == 'C' ? 1 : -1;
            c += upd[i] == qi;
            if (c < 0) {
                upd[i] = qi;
                c += 1;
                ans += 1;
            }
        }

        cout << ans << '\n';
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...