Submission #1161041

#TimeUsernameProblemLanguageResultExecution timeMemory
1161041ElayV13Election (BOI18_election)C++20
0 / 100
4 ms320 KiB
#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'
                int res = 0;
                for(int i = l;i <= r;i++)
                {
                        if(s[i] == 'T') cnt[1]++;
                        if(s[i] == 'C') cnt[0]++;
                        if(cnt[1] > cnt[0]) res = max(res , cnt[1] - cnt[0]);
                }
                cnt[0] = cnt[1] = 0;
                for(int i = r;i >= l;i--)
                {
                        if(s[i] == 'T') cnt[1]++;
                        if(s[i] == 'C') cnt[0]++;
                        if(cnt[1] > cnt[0]) res = max(res , cnt[1] - cnt[0]);
                }
                cout << res << endl;
        }
}
signed main(){
      ios_base::sync_with_stdio(0);cin.tie(0);
      int T = 1;//cin >> T;
      while(T--) solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...