Submission #1139008

#TimeUsernameProblemLanguageResultExecution timeMemory
1139008luanzitoSecret (JOI14_secret)C++20
6 / 100
350 ms4468 KiB
#include "secret.h" int n; int v[10000], st[20][10000]; void build(int n2, int A[]) { n = n2; for (int i = 0; i < n; i++) v[i] = A[i]; while (n&(n-1)) n++; for (int j = 0; (1<<j) < n; j++) { int len = 1<<j; for (int c = len; c < n; c += 2*len) { st[j][c] = v[c], st[j][c-1] = v[c-1]; for (int i = c+1; i < c+len; i++) st[j][i] = Secret(st[j][i-1], v[i]); for (int i = c-2; i >= c-len; i--) st[j][i] = Secret(v[i], st[j][i+1]); } } } void Init(int N, int A[]){ build(N, A); } int Query(int L, int R){ if (L == R) return v[L]; int j = __builtin_clz(1) - __builtin_clz(L^R); return Secret(st[j][L], st[j][R]); }
#Verdict Execution timeMemoryGrader output
Fetching results...