Submission #1224231

#TimeUsernameProblemLanguageResultExecution timeMemory
1224231Muhammad_AneeqBrperm (RMI20_brperm)C++20
0 / 100
3095 ms18768 KiB
#include "brperm.h" #include <iostream> using namespace std; int const N=5e5+10,LG=19; bool vis[N][LG],ans[N][LG]={}; string x; void init(int n, const char S[]) { for (int i=0;i<n;i++) x+=S[i]; return; } int query(int i, int k) { if (vis[i][k]) return ans[i][k]; vis[i][k]=1; int len=(1<<k); for (int j=0;j<len;j++) { int op=0; for (int l=0;l<k;l++) { if ((1<<l)&j) op+=(1<<(k-1-l)); } if (x[i+j]!=x[i+op]) { ans[i][k]=0; return 0; } } ans[i][k]=1; return ans[i][k]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...