Submission #231512

#TimeUsernameProblemLanguageResultExecution timeMemory
231512cstuartBroken Device (JOI17_broken_device)C++17
59 / 100
62 ms3432 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 = "101010101010100101100101100110011001100110101001011001100101100101100101101010101010011001011001100110100101010110010101011001100110010110011001010110";
  
  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 = "101010101010100101100101100110011001100110101001011001100101100101100101101010101010011001011001100110100101010110010101011001100110010110011001010110";
  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...