제출 #231500

#제출 시각아이디문제언어결과실행 시간메모리
231500cstuartBroken Device (JOI17_broken_device)C++17
53 / 100
52 ms3312 KiB
#include <bits/stdc++.h>
using namespace std;
#include "Annalib.h"
 
void Anna (int N, long long X, int K, int P[]) {
  
  bool     func[N+5];
  int      b = 0;
  string   rep = "011010010010111010101011010001";
  
  memset(func, 1, sizeof func);
  for (int i = 0; i < K; i++) func[P[i]] = 0;
  
  for (int i = 0; i < N; i++) {
    if (b == 60) Set(i, 0);
    else if (!func[i]) Set(i, 0);
    else if (((1ll << b) & X) == 0 && rep[i % (int)rep.length()] == '1') Set(i, 0);
    else if (((1ll << b) & X) > 0  && rep[i % (int)rep.length()] == '0') Set(i, 0);
    else {
      Set(i, 1);
      b++;
    }
  }
  
}
#include <bits/stdc++.h>
using namespace std;
#include "Brunolib.h"
 
long long Bruno (int N, int A[]) {
  
  string     rep = "011010010010111010101011010001";
  long long  V = 0;
  int        b = 0;
  
  for (int i = 0; i < N; i++) {
    if (A[i] == 1) {
      if (rep[i % (int)rep.length()] == '1') V += (1ll << b);
      b++;
    }
  }
  
  return V;
}
#Verdict Execution timeMemoryGrader output
Fetching results...