Submission #924236

#TimeUsernameProblemLanguageResultExecution timeMemory
924236CamillusBrperm (RMI20_brperm)C++17
50 / 100
3024 ms1616 KiB
#define debug(...) 42 #include "bits/stdc++.h" using namespace std; #ifndef LOCAL #include "brperm.h" #else void init(int n, const char s[]); int query(int i, int k); #endif int n; string s; void init(int N, const char S[]) { n = N; s = string(S, S + N); } int swapped(int i, int k) { int j = 0; for (int p = 0; p < k; p++) { if (i & (1 << p)) { j |= (1 << (k - p - 1)); } } return j; } int query(int i, int k) { if (i + (1 << k) > n) { return 0; } if (k < 2) { return 1; } for (int j = 0; j < (1 << k); j++) { if (s[i + j] != s[i + swapped(j, k)]) { return 0; } } return 1; } #ifdef LOCAL char __s[(int)5e5 + 10] = {}; int main() { cin >> __s; init(strlen(__s), __s); int __x, __y; while (cin >> __x >> __y) cout << query(__x, __y) << '\n'; return 0; } #endif
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...