Submission #1269717

#TimeUsernameProblemLanguageResultExecution timeMemory
1269717yanbElection (BOI18_election)C++20
28 / 100
3093 ms2216 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long
using pii = pair<int, int>;
using t3i = tuple<int, int, int>;

signed main() {
    int n;
    cin >> n;
    string s;
    cin >> s;
    int q;
    cin >> q;
    while (q--) {
        int l, r;
        cin >> l >> r;
        l--; r--;
        int ball = 0, balr = 0;
        vector<int> mball(r - l + 2), mbalr(r - l + 2);
        for (int i = l; i <= r; i++) {
            ball += (s[i] == 'C' ? 1 : -1);
            mball[i - l + 1] = min(mball[i - l], ball);
        }
        for (int i = r; i >= l; i--) {
            balr += (s[i] == 'C' ? 1 : -1);
            mbalr[i - l] = min(mbalr[i - l + 1], balr);
        }
        int ans = 0;
        for (int i = 0; i < r - l + 2; i++) {
            ans = min(ans, mball[i] + mbalr[i]);
        }
        cout << -ans << "\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...