Submission #68912

#TimeUsernameProblemLanguageResultExecution timeMemory
68912istleminElection (BOI18_election)C++14
28 / 100
3042 ms1348 KiB
#include<bits/stdc++.h>

using namespace std;

#define rep(i,a,b) for(int i = a; i<int(b);++i)
#define all(v) v.begin(),v.end()
#define sz(v) v.size()
#define trav(a,c) for(auto a: c)

typedef long long ll;
typedef vector<ll> vi;
typedef pair<ll,ll> pii;

int main(){
	cin.sync_with_stdio(false);
    ll n;
    string str;
	cin>>n;
	cin>>str;
    ll q;
    cin>>q;
    rep(i,0,q){
		ll a,b;
		cin>>a>>b;
		a--;
        ll diff = 0;
        vector<bool> nullified(n);
        rep(i,a,b){
            if(str[i]=='C') diff++;
            else diff--;
			if(diff<0){
				diff++;
				nullified[i] = true;
			}
        }
        diff = 0;
        for(int i = b-1;i>=a;i--){
            if(nullified[i]) continue;
            if(str[i]=='C') diff++;
            else diff--;
			if(diff<0){
				diff++;
				nullified[i] = true;
			}
        }
        ll ans = 0;
        rep(i,a,b) ans += nullified[i];
		cout<<ans<<endl;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...