Submission #1218108

#TimeUsernameProblemLanguageResultExecution timeMemory
1218108KindaGoodGamesBrperm (RMI20_brperm)C++20
13 / 100
3096 ms2052 KiB
#include "brperm.h"
#include<bits/stdc++.h>
#define int long long 
using namespace std;

int rev(int a, int p){
    int r = 0;
    int p2 = 1 << p;
    for(int i = 0; i < p; i++){
        int bit = (a & (1<<i)) > 0;
        r += (1<<(p-i-1)) * bit;
    } 
    return r;
}
vector<char> str;
int n;
void init(int32_t N, const char arr[]) {
  n = N;
  str.resize(N);
  for(int i = 0; i < n; i++){
    str[i] = arr[i];
  }
  return;
}

int32_t query(int32_t l, int32_t k) {
    vector<char> res(str.size(), '#');
    int p2 = 1 << k; 
    int r = l +p2-1;
    if(l + p2 > n) return 0;
    bool valid = true;
    for(int i = l; i < l+p2; i++){
      int np = rev(i-l, k)+l; 
      res[np] = str[i]; 
    }

    for(int i = l; i < l+p2; i++){
      if(res[i] != str[i]){
        valid = false;
      }
    }
    return valid;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...