제출 #565567

#제출 시각아이디문제언어결과실행 시간메모리
565567UzoufElection (BOI18_election)C++14
28 / 100
3054 ms1028 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
#define int long long
#define endl "\n"
int mod=1e9+7;
const int N=105;//2e5+5;
template<class x>
using ordered_multiset = tree<x, null_type,less_equal<x>, rb_tree_tag,tree_order_statistics_node_update>;

signed main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    //freopen(".in", "r", stdin); freopen(".out", "w", stdout);

    int n; cin>>n;
    string s; cin>>s;
    int q; cin>>q;
    while (q--) {
      int l,r; cin>>l>>r; l--; r--;

      int cnt=0,ans=0;
      string tmp=s;
      for (int i=l;i<=r;i++) {
        if (tmp[i]=='C') cnt++;
        else if (tmp[i]=='T') cnt--;
        if (cnt==-1) {
          cnt=0; tmp[i]='A'; ans++;
        }
      }
      
      cnt=0;
      for (int i=r;i>=l;i--) {
        if (tmp[i]=='C') cnt++;
        else if (tmp[i]=='T') cnt--;
        if (cnt==-1) {
          cnt=0; tmp[i]='A'; ans++;
        }
      }

      cout<<ans<<endl;

    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...