답안 #1091676

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1091676 2024-09-21T19:16:08 Z LucaLucaM Election (BOI18_election) C++17
0 / 100
2 ms 348 KB
#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);
  #else
freopen("elections.in", "r", stdin);
freopen("elections.out", "w", stdout);
  #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;
}

Compilation message

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
      |  ^~~~~~~
election.cpp: In function 'int main()':
election.cpp:19:8: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 | freopen("elections.in", "r", stdin);
      | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
election.cpp:20:8: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 | freopen("elections.out", "w", stdout);
      | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -