Submission #1288748

#TimeUsernameProblemLanguageResultExecution timeMemory
1288748Faisal_SaqibElection (BOI18_election)C++20
28 / 100
3093 ms964 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=5e5+10;
int pre[N];
int main()
{
    ios::sync_with_stdio(0);
    cout.tie(0);
    cin.tie(0);
    int n;
    cin>>n;
    string s;
    cin>>s;
    for(int i=0;i<n;i++)
    {
        pre[i+1]=pre[i]+((s[i]=='T')?1:-1);
        // cout<<pre[i]<<' ';
    }
    // cout<<pre[n]<<endl;
    int q;
    cin>>q;
    while(q--)
    {
        int l,r;
        cin>>l>>r;
        auto tp=s;
        // int mx=0;
        int ct=0,cc=0,ans=0;
        for(int i=l;i<=r;i++)
        {
            if(s[i-1]=='T')
            {
                ct++;
            }
            else if(s[i-1]=='C')
            {
                cc++;
            }
            if(ct>cc)s[i-1]='F',ans++,ct--;
        }
        ct=0,cc=0;
        for(int i=r;i>=l;i--)
        {
            if(s[i-1]=='T')
            {
                ct++;
            }
            else if(s[i-1]=='C')
            {
                cc++;
            }
            if(ct>cc)s[i-1]='F',ans++,ct--;   
        }
        s=tp;
        cout<<ans<<endl;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...