제출 #1344741

#제출 시각아이디문제언어결과실행 시간메모리
1344741avighnaAncient Machine (JOI21_ancient_machine)C++20
70 / 100
30 ms6456 KiB
#include "Anna.h"
#include <bits/stdc++.h>

using namespace std;

void Anna(int N, std::vector<char> S) {
  int xloc = -1, zloc = -1;
  for (int i = N - 1; i >= 0; --i) {
    if (S[i] == 'X') {
      xloc = i;
    }
  }
  for (int i = 0; i < N; ++i) {
    if (S[i] == 'Z') {
      zloc = i;
    }
  }
  if (xloc == -1 || zloc == -1 || xloc > zloc) {
    return;
  }
  for (int i = 0; i < N; ++i) {
    Send(xloc <= i && i <= zloc && (i == xloc || S[i] == 'Z'));
  }
}
#include "Bruno.h"
#include <bits/stdc++.h>

using namespace std;

void Bruno(int N, int L, std::vector<int> A) {
  if (A.size() == 0) {
    for (int i = 0; i < N; ++i) {
      Remove(i);
    }
    return;
  }
  int xloc = -1, zloc = -1;
  for (xloc = 0; xloc < N && A[xloc] != 1; ++xloc) {
    Remove(xloc);
  }
  for (zloc = N - 1; zloc >= 0 && A[zloc] != 1; --zloc) {
    Remove(zloc);
  }
  for (int i = xloc + 1, l = xloc + 1; i <= zloc; ++i) {
    if (A[i] != 1) {
      continue;
    }
    for (int j = i - 1; j >= l; --j) {
      Remove(j);
    }
    Remove(i);
    l = i + 1;
  }
  Remove(xloc);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...