Submission #519493

#TimeUsernameProblemLanguageResultExecution timeMemory
519493StickfishBrperm (RMI20_brperm)C++17
0 / 100
4 ms1900 KiB
#include "brperm.h" #include <cassert> #include <string> #include <iostream> #include <vector> using namespace std; using ll = long long; const int MAXN = 500008; string s; void init(int n, const char s_[]) { for (int i = 0; i < n; ++i) s.push_back(s_[i]); assert(s.size() == n); return; //ll raymoo = 1; //for (int i = 0; i < n; ++i) { //phash[i] = (phash[i - 1] + raymoo * (s[i] - 'a')) % MOD; //raymoo = (raymoo * MUL) % MOD; //cout << phash[i] << ' '; //} //cout << endl; //return; } int query(int l, int k) { if (k < 0) exit(177013); if (k >= 10) exit(200834); if (l + (1 << k) >= int(s.size())) exit(5); vector<int> ps = {0}; for (int t = 0; t < k; ++t) { for (int i = 0; i < (1 << t); ++i) ps.push_back(ps[i] + (1 << (k - t - 1))); } for (int i = 0; i < (1 << k); ++i) { if (s[l + i] != s[l + ps[i]]) return 0; } return 1; }

Compilation message (stderr)

In file included from /usr/include/c++/10/cassert:44,
                 from brperm.cpp:2:
brperm.cpp: In function 'void init(int, const char*)':
brperm.cpp:15:21: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   15 |     assert(s.size() == n);
      |            ~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...