Submission #1257946

#TimeUsernameProblemLanguageResultExecution timeMemory
1257946Alexe1900Election (BOI18_election)C++20
28 / 100
3092 ms1264 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

using vi = vector<int>;
using vvi = vector<vi>;

signed main() {
    int n; cin >> n;
    string s; cin >> s;
    int t; cin >> t;

    while (t--) {
        int l, r; cin >> l >> r;
        l--; r--;
        int counter = 0, ans = 0;
        vi null(n, 0);
        for (int i = l; i <= r; i++) {
            if (counter == 0 and s[i] == 'T') {
                ans++;
                null[i] = 1;
            } else if (s[i] == 'T') counter--;
            else counter++;
        }
        counter = 0;
        for (int i = r; i >= l; i--) {
            if (null[i]) continue;
            if (counter == 0 and s[i] == 'T') {
                ans++;
                null[i] = 1;
            } else if (s[i] == 'T') counter--;
            else counter++;
        }
        cout << ans << "\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...