Please sign in first.
Submission #32508132
Source Code Expand
import random
import sys
input = sys.stdin.buffer.readline
U = (1 << 64) - 1
def prime_sieve(N):
#sieve[i] : iの最小の素因数
sieve = [0] * (N + 1)
prime = []
for i in range(2, N + 1):
if sieve[i] == 0:
sieve[i] = i
prime.append(i)
for p in prime:
if p > sieve[i] or i * p > N:
break
sieve[i * p] = p
return prime, sieve
def gen():
a = random.randint(0, U - 1)
b = random.randint(a + 1, U)
while True:
yield a
yield b
yield a ^ b
def gen_hash():
a = random.randint(0, U-1)
b = random.randint(a+1, U)
value = [a, b, a ^ b]
i = 0
def inner():
nonlocal i
i += 1
if i == 3:
i = 0
return value[i]
return inner
def main(N, Q, A):
Amax = max(A)
prime, sieve = prime_sieve(Amax)
F = {p: gen() for p in prime}
xor = [0] * (N + 1)
for i, a in enumerate(A, 1):
while a > 1:
p = sieve[a]
xor[i] ^= next(F[p])
a //= p
xor[i] ^= xor[i-1]
for _ in range(Q):
L, R = map(int, input().split())
if xor[R] ^ xor[L-1] == 0:
print("Yes")
else:
print("No")
N, Q = map(int, input().split())
A = list(map(int, input().split()))
main(N, Q, A)
Submission Info
| Submission Time | |
|---|---|
| Task | G - Cubic? |
| User | tktk_snsn |
| Language | PyPy3 (7.3.0) |
| Score | 600 |
| Code Size | 1431 Byte |
| Status | AC |
| Exec Time | 721 ms |
| Memory | 156856 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt |
| All | sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 445 ms | 102248 KiB |
| test_01.txt | AC | 137 ms | 95676 KiB |
| test_02.txt | AC | 372 ms | 109268 KiB |
| test_03.txt | AC | 243 ms | 101724 KiB |
| test_04.txt | AC | 351 ms | 136272 KiB |
| test_05.txt | AC | 447 ms | 137712 KiB |
| test_06.txt | AC | 277 ms | 120588 KiB |
| test_07.txt | AC | 394 ms | 128124 KiB |
| test_08.txt | AC | 423 ms | 116188 KiB |
| test_09.txt | AC | 207 ms | 119128 KiB |
| test_10.txt | AC | 339 ms | 137456 KiB |
| test_11.txt | AC | 373 ms | 139228 KiB |
| test_12.txt | AC | 360 ms | 129776 KiB |
| test_13.txt | AC | 459 ms | 137976 KiB |
| test_14.txt | AC | 583 ms | 154336 KiB |
| test_15.txt | AC | 331 ms | 107364 KiB |
| test_16.txt | AC | 358 ms | 139104 KiB |
| test_17.txt | AC | 435 ms | 134016 KiB |
| test_18.txt | AC | 270 ms | 121004 KiB |
| test_19.txt | AC | 476 ms | 138836 KiB |
| test_20.txt | AC | 239 ms | 92844 KiB |
| test_21.txt | AC | 379 ms | 114696 KiB |
| test_22.txt | AC | 457 ms | 149528 KiB |
| test_23.txt | AC | 459 ms | 143404 KiB |
| test_24.txt | AC | 429 ms | 149380 KiB |
| test_25.txt | AC | 305 ms | 111080 KiB |
| test_26.txt | AC | 442 ms | 118832 KiB |
| test_27.txt | AC | 388 ms | 127852 KiB |
| test_28.txt | AC | 393 ms | 116568 KiB |
| test_29.txt | AC | 447 ms | 119208 KiB |
| test_30.txt | AC | 417 ms | 140412 KiB |
| test_31.txt | AC | 451 ms | 140504 KiB |
| test_32.txt | AC | 427 ms | 117708 KiB |
| test_33.txt | AC | 534 ms | 132492 KiB |
| test_34.txt | AC | 506 ms | 132164 KiB |
| test_35.txt | AC | 527 ms | 132164 KiB |
| test_36.txt | AC | 520 ms | 146416 KiB |
| test_37.txt | AC | 645 ms | 154284 KiB |
| test_38.txt | AC | 450 ms | 118512 KiB |
| test_39.txt | AC | 259 ms | 111224 KiB |
| test_40.txt | AC | 486 ms | 151100 KiB |
| test_41.txt | AC | 565 ms | 151404 KiB |
| test_42.txt | AC | 501 ms | 146500 KiB |
| test_43.txt | AC | 628 ms | 153204 KiB |
| test_44.txt | AC | 721 ms | 156856 KiB |
| test_45.txt | AC | 372 ms | 114552 KiB |
| test_46.txt | AC | 452 ms | 150832 KiB |
| test_47.txt | AC | 576 ms | 152392 KiB |
| test_48.txt | AC | 492 ms | 146776 KiB |
| test_49.txt | AC | 651 ms | 152992 KiB |
| test_50.txt | AC | 481 ms | 118956 KiB |
| test_51.txt | AC | 430 ms | 149408 KiB |
| test_52.txt | AC | 502 ms | 151228 KiB |
| test_53.txt | AC | 620 ms | 154904 KiB |
| test_54.txt | AC | 521 ms | 147996 KiB |
| test_55.txt | AC | 657 ms | 152768 KiB |
| test_56.txt | AC | 704 ms | 156400 KiB |
| test_57.txt | AC | 536 ms | 145184 KiB |
| test_58.txt | AC | 460 ms | 151244 KiB |
| test_59.txt | AC | 534 ms | 151340 KiB |
| test_60.txt | AC | 495 ms | 146744 KiB |
| test_61.txt | AC | 637 ms | 152968 KiB |
| test_62.txt | AC | 417 ms | 116836 KiB |
| test_63.txt | AC | 509 ms | 141916 KiB |
| test_64.txt | AC | 537 ms | 150244 KiB |
| test_65.txt | AC | 605 ms | 152440 KiB |
| test_66.txt | AC | 497 ms | 147444 KiB |
| test_67.txt | AC | 698 ms | 152528 KiB |
| test_68.txt | AC | 492 ms | 118068 KiB |
| test_69.txt | AC | 467 ms | 131156 KiB |