Submission #857257

#TimeUsernameProblemLanguageResultExecution timeMemory
857257divadBrperm (RMI20_brperm)C++14
0 / 100
3043 ms2240 KiB
#include <bits/stdc++.h>
#include "brperm.h"
using namespace std;
string str;

void init(int n, const char s[]) {
  str = s;
}

int rev_bits(int x, int k){
    int ans = 0;
    for(int i = 0; i < k; i++){
        int bt = (x>>i)&1;
        ans += bt*(1<<(k-i-1));
    }
    return ans;
}

int query(int i, int k){
    int len = (1<<k);
    if(i+len >= str.size()){
        return 0;
    }
    string sub = str.substr(i, len);
    for(int i = 0; i < len; i++){
        if(sub[i] != sub[rev_bits(i, k)]){
            return false;
        }
    }
    return true;
}

Compilation message (stderr)

brperm.cpp: In function 'int query(int, int)':
brperm.cpp:21:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |     if(i+len >= str.size()){
      |        ~~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...