Submission #645986

#TimeUsernameProblemLanguageResultExecution timeMemory
645986VanillaBrperm (RMI20_brperm)C++17
13 / 100
3075 ms2536 KiB
#include <bits/stdc++.h>
#include "brperm.h"
using namespace std;
int n;
string s = "";
int rev (int x, int k) {
  int b = 0;
  for (int i = 0; i < k; i++){
    if ((1 << (k - i - 1)) & x) b+=(1 << i);
  }
  return b;
}

void init(int N, const char S[]) {
  n = N;
  s = "";
  for (int i = 0; i < n; i++){
    s.push_back(S[i]);
  }
  return;
}


int query(int l, int k) {
  if (l + (1 << k) > n) return 0;
  string s1 = "", s2 = "";
  for (int i = l; i <= l + (1 << k) - 1; i++){
    s1.push_back(s[i]);
    s2.push_back(s[rev(i - l, k) + l]);
  }
  return s1 == s2;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...