제출 #857258

#제출 시각아이디문제언어결과실행 시간메모리
857258divadBrperm (RMI20_brperm)C++14
50 / 100
3034 ms2004 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; }

컴파일 시 표준 에러 (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...