#include <bits/stdc++.h>
using namespace std;
#define int long long
#define all(a) a.begin() , a.end()
#define ld long double
#define ff first
#define ss second
const int inf = 1e18;
const int mod = 998244353;
const int MXN = 10005;
int N , q;
string s;
void solve()
{
cin >> N >> s >> q;
s = '#' + s;
while(q--)
{
int l , r;
cin >> l >> r;
int cnt[2];
cnt[0] = cnt[1] = 0;
// cnt[0] -> 'C' // cnt[1] -> 'T'
string ss = s;
for(int i = l;i <= r;i++)
{
if(ss[i] == 'T') cnt[1]++;
if(ss[i] == 'C') cnt[0]++;
if(cnt[1] > cnt[0] && ss[i] != 'C'){
ss[i] = 'X';
cnt[1]--;
}
}
cnt[0] = cnt[1] = 0;
for(int i = r;i >= l;i--)
{
if(ss[i] == 'T') cnt[1]++;
if(ss[i] == 'C') cnt[0]++;
if(cnt[1] > cnt[0] && ss[i] != 'C'){
ss[i] = 'X';
cnt[1]--;
}
}
int res = 0;
for(int i = 1;i <= N;i++)
{
res += (s[i] != ss[i]);
}
cout << res << endl;
}
}
signed main(){
ios_base::sync_with_stdio(0);cin.tie(0);
int T = 1;//cin >> T;
while(T--) solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |