제출 #1091677

#제출 시각아이디문제언어결과실행 시간메모리
1091677LucaLucaMElection (BOI18_election)C++17
28 / 100
3026 ms1356 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <cassert>
#warning That's not the baby, that's my baby

#define debug(x) #x << " = " << x << '\n'
using ll = long long;

const int INF = 1e9;

int main() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(0);
  std::cout.tie(0);
  #ifdef LOCAL
freopen("input.txt", "r", stdin);
  #endif

  int n;
  std::cin >> n;
  
  std::string s;
  std::cin >> s;
  s = '$' + s;

  std::vector<int> pref(n + 1, 0);
  for (int i = 1; i <= n; i++) {
    if (s[i] == 'C') {
      pref[i] = pref[i - 1] + 1;
    } else {
      pref[i] = pref[i - 1] - 1;
    }
  }

  int q;
  std::cin >> q;
  while (q--) {
    int l, r;
    std::cin >> l >> r;
    int answer = 0;
    std::string q = s;
    int sum = 0;
    for (int i = l; i <= r; i++) {
      if (s[i] == 'C') {
        sum++;
      } else {
        if (sum == 0) {
          answer++;
          q[i] = '-';
        } else {
          sum--;
        }
      }
    }
    sum = 0;
    for (int i = r; i >= l; i--) {
      if (q[i] == 'C') {
        sum++;
      } else if (q[i] == 'T') {
        // std::cout << debug(i) << debug(sum);
        if (sum == 0) {
          answer++;
        } else {
          sum--;
        }
      }
    }
    
    std::cout << answer << '\n';
  }

  return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

election.cpp:5:2: warning: #warning That's not the baby, that's my baby [-Wcpp]
    5 | #warning That's not the baby, that's my baby
      |  ^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...