# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
561965 | jh05013 | 목공 (kriii4_A) | Pypy 3 | 2369 ms | 30420 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
MOD = 1092616193
proot = 3
iproot = pow(proot, MOD-2, MOD)
def NTT(N, X, di):
j = 0
for i in range(1, N):
k = N>>1
while j >= k: j-= k; k>>= 1
j+= k
if i<j: X[i], X[j] = X[j], X[i]
i = 1
while i < N:
x = pow(iproot if di else proot, MOD//i>>1, MOD); j = 0
while j < N:
y = 1
for k in range(i):
z = X[i|j|k]*y%MOD; X[i|j|k]= X[j|k]-z
if X[i|j|k] < 0: X[i|j|k]+= MOD
X[j|k]+= z
if X[j|k] >= MOD: X[j|k]-= MOD
y = y*x%MOD
j+= i<<1
i<<= 1
if di:
j = pow(N, MOD-2, MOD)
for i in range(N): X[i] = X[i]*j%MOD
def poly_mul(P, Q):
N = 1
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |