Submission #1098260

#TimeUsernameProblemLanguageResultExecution timeMemory
1098260Alihan_8Election (BOI18_election)C++17
28 / 100
3047 ms1488 KiB
#include <bits/stdc++.h>

using namespace std;

signed main(){
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);

  int n; cin >> n;

  vector <int> a(n + 1);

  for ( int i = 1; i <= n; i++ ){
    char x; cin >> x;

    a[i] = (x == 'C' ? 1 : -1);
  }

  int q; cin >> q;

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

    vector <int> er(n + 1);

    int cnt = 0;

    for ( int i = r; i >= l; i-- ){
      if ( er[i] ) continue;

      cnt += a[i];

      if ( cnt < 0 ){
        er[i] = 1, cnt = 0;
      }
    }

    cnt = 0;

    for ( int i = l; i <= r; i++ ){
      if ( er[i] ) continue;

      if ( a[i] == -1 ){
        if ( cnt == 0 ) er[i] = 1;
        else cnt -= 1;
      } else{
        cnt += 1;
      }
    }

    cout << accumulate(er.begin(), er.end(), 0) << '\n';
  }

  cout << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...