Submission #1356970

#TimeUsernameProblemLanguageResultExecution timeMemory
1356970i_love_springElection (BOI18_election)C++20
28 / 100
3094 ms672 KiB
#include <bits/stdc++.h>

using namespace std;

#define ar array
#define ll long long 
const int inf = 2e9;
string t = "bessie";


void solve() {
    int n;
    cin >> n;
    string s;
    cin >> s;
    s = "#" + s;
    
    auto f = [&](int l, int r) {
        // int ans = 0;
        int pref = 0;
        set<int> st;
        for (int i = l; i <= r;i++) {
            pref += (s[i] == 'C' ? 1 : -1);
            if (pref < 0) 
                st.insert(i), pref = 0;
        }

        int suff = 0;
        for (int i = r; i >= l;i--) {
            if (st.count(i))
                continue;
            suff += (s[i] == 'C' ? 1 : -1);
            if (suff < 0)
                st.insert(i), suff = 0;
        }

        return (int)st.size();
    };

    int q;
    cin >> q;
    while (q--) {
        int l, r;
        cin >> l >> r;
        cout << f(l, r) << "\n";
    }
}

int32_t main() { 

#ifdef Behruz
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif 

    ios :: sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    
    solve();

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