Submission #1262532

#TimeUsernameProblemLanguageResultExecution timeMemory
1262532tormentElection (BOI18_election)C++20
28 / 100
3080 ms720 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    string s;
    cin >> s;
    s = '$' + s;
    int q;
    cin >> q;
    while(q--){
        int l, r;
        cin >> l >> r;
        string d = s.substr(l, r - l + 1);
        int sum = 0;
        for(int i = 0;i < r - l + 1;++i){
            int num = 1;
            if(d[i] == 'T')num = -1;
            if(sum + num < 0){
                num = 0;
                d[i] = 'x';
            }
            sum += num;
        }
        sum = 0;
        for(int i = r - l;i >= 0;--i){
            int num = 1;
            if(d[i] == 'T')num = -1;
            else if(d[i] == 'x')num = 0;
            if(sum + num < 0){
                num = 0;
                d[i] = 'x';
            }
            sum += num;
        }
        int res = 0;
        for(int i = 0;i < r - l + 1;++i){
            res += (d[i] == 'x');
        }
        cout << res << '\n';
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...