답안 #543086

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
543086 2022-03-29T07:50:12 Z abc864197532 Ancient Machine (JOI21_ancient_machine) C++17
0 / 100
55 ms 8276 KB
#include "Anna.h"
#include <vector>

namespace {

int variable_example = 0;

}

void Anna(int N, std::vector<char> S) {
  for (int i = 0; i < N; i += 3) {
    int now = 0;
    for (int j = i; j < i + 3 && j < N; ++j)
      now = now * 3 + S[j] - 'X';
    for (int j = 4; ~j; --j)
      Send(now >> j & 1);
  }
}
#include "Bruno.h"
#include <vector>
#include <set>

namespace {

int variable_example = 0;

int FunctionExample(int P) { return 1 - P; }

}  // namespace

void Bruno(int N, int L, std::vector<int> A) {
  std::vector <char> S(N);
  int pt = 0;
  for (int i = 0; i < L; i += 5) {
    int now = 0;
    for (int j = i; j < i + 5; ++j)
      now = now * 2 + A[j];
    S[pt] = now / 9 + 'X';
    if (pt + 1 < N)
      S[pt + 1] = (now / 3) % 3 + 'X';
    if (pt + 2 < N)
      S[pt + 2] = now % 3 + 'X';
    pt += 3;
  }
  std::vector <int> X, Y, Z;
  std::set <int> Se;
  for (int i = 0; i < N; ++i)
    Se.insert(i);
  for (int i = 0; i < N; ++i) {
    if (S[i] == 'X')
      X.push_back(i);
    else if (S[i] == 'Y' && !X.empty())
      Y.push_back(i);
    else if (S[i] == 'Z' && !Y.empty()) {
      int a = X.back(), b = Y.back();
      std::vector <int> del;
      for (auto it = Se.lower_bound(a + 1); it != Se.end() && *it < b; ++it)
        Remove(*it), del.push_back(*it);
      for (auto it = Se.lower_bound(b + 1); it != Se.end() && *it < i; ++it)
        Remove(*it), del.push_back(*it);
      Remove(b), Remove(a), Remove(i), del.push_back(b), del.push_back(a), del.push_back(i);
      for (int i : del)
        Se.erase(i);
      X.pop_back(), Y.pop_back();
    }
    while (!X.empty() && !Se.count(X.back()))
      X.pop_back();
    while (!Y.empty() && !Se.count(Y.back()))
      Y.pop_back();
  }
  for (int i : Se)
    Remove(i);
}

Compilation message

Anna.cpp:6:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
    6 | int variable_example = 0;
      |     ^~~~~~~~~~~~~~~~

Bruno.cpp:9:5: warning: 'int {anonymous}::FunctionExample(int)' defined but not used [-Wunused-function]
    9 | int FunctionExample(int P) { return 1 - P; }
      |     ^~~~~~~~~~~~~~~
Bruno.cpp:7:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
    7 | int variable_example = 0;
      |     ^~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 508 KB Output is correct
2 Incorrect 0 ms 508 KB Wrong Answer [4]
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 55 ms 8276 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -