提出 #29106432
ソースコード 拡げる
# Sieve of Eratosthenes
class SOE:
def __init__(self,m):
self.sieve=[-1]*(m+1)
self.prime=[]
for i in range(2,m+1):
if self.sieve[i]==-1:
self.prime.append(i)
self.sieve[i]=i
j=2*i
while j<=m:
self.sieve[j]=i
j+=i
def primes(self):
# get primes
return self.prime
def fact(self,n):
# prime factorization
d=[]
while n!=1:
k=self.sieve[n]
d.append(k)
n//=k
return d
def div(self,n):
# get divisors
c=[1]
while n!=1:
p=self.sieve[n]
cnt=1
n//=p
while self.sieve[n]==p:
cnt+=1
n//=p
s=c.copy()
for i in s:
for j in range(1,cnt+1):
c.append(i*(p**j))
return c
soe=SOE(10**6)
n,q=map(int,input().split())
a=list(map(int,input().split()))
c=[1]*(n+1)
mod=10**9+33
hash=1
from collections import defaultdict
cnt=defaultdict(int)
for i in range(n):
for j in soe.fact(a[i]):
hash*=j
hash%=mod
cnt[j]+=1
if cnt[j]==3:
hash*=pow(j,3*(mod-2),mod)
hash%=mod
cnt[j]=0
c[i+1]=hash
for i in range(q):
l,r=map(int,input().split())
if c[l-1]==c[r]:
print('Yes')
else:
print('No')
提出情報
| 提出日時 | |
|---|---|
| 問題 | G - Cubic? |
| ユーザ | toam |
| 言語 | PyPy3 (7.3.0) |
| 得点 | 600 |
| コード長 | 1297 Byte |
| 結果 | AC |
| 実行時間 | 1285 ms |
| メモリ | 109084 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 600 / 600 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample_01.txt | AC | 112 ms | 85164 KiB |
| test_01.txt | AC | 81 ms | 85156 KiB |
| test_02.txt | AC | 706 ms | 105660 KiB |
| test_03.txt | AC | 436 ms | 85384 KiB |
| test_04.txt | AC | 450 ms | 97952 KiB |
| test_05.txt | AC | 805 ms | 102732 KiB |
| test_06.txt | AC | 286 ms | 85092 KiB |
| test_07.txt | AC | 388 ms | 90916 KiB |
| test_08.txt | AC | 796 ms | 109084 KiB |
| test_09.txt | AC | 181 ms | 85968 KiB |
| test_10.txt | AC | 468 ms | 99500 KiB |
| test_11.txt | AC | 508 ms | 104204 KiB |
| test_12.txt | AC | 567 ms | 93216 KiB |
| test_13.txt | AC | 291 ms | 98872 KiB |
| test_14.txt | AC | 556 ms | 107484 KiB |
| test_15.txt | AC | 603 ms | 93664 KiB |
| test_16.txt | AC | 498 ms | 103276 KiB |
| test_17.txt | AC | 427 ms | 95576 KiB |
| test_18.txt | AC | 523 ms | 85260 KiB |
| test_19.txt | AC | 424 ms | 98468 KiB |
| test_20.txt | AC | 362 ms | 90376 KiB |
| test_21.txt | AC | 765 ms | 108544 KiB |
| test_22.txt | AC | 835 ms | 108636 KiB |
| test_23.txt | AC | 825 ms | 108576 KiB |
| test_24.txt | AC | 787 ms | 108680 KiB |
| test_25.txt | AC | 806 ms | 108268 KiB |
| test_26.txt | AC | 858 ms | 108768 KiB |
| test_27.txt | AC | 812 ms | 108536 KiB |
| test_28.txt | AC | 841 ms | 108696 KiB |
| test_29.txt | AC | 848 ms | 108264 KiB |
| test_30.txt | AC | 789 ms | 108784 KiB |
| test_31.txt | AC | 810 ms | 108648 KiB |
| test_32.txt | AC | 829 ms | 108800 KiB |
| test_33.txt | AC | 1184 ms | 108560 KiB |
| test_34.txt | AC | 1203 ms | 108796 KiB |
| test_35.txt | AC | 1206 ms | 108592 KiB |
| test_36.txt | AC | 957 ms | 108652 KiB |
| test_37.txt | AC | 988 ms | 108888 KiB |
| test_38.txt | AC | 908 ms | 108688 KiB |
| test_39.txt | AC | 745 ms | 108560 KiB |
| test_40.txt | AC | 930 ms | 108144 KiB |
| test_41.txt | AC | 1007 ms | 109020 KiB |
| test_42.txt | AC | 957 ms | 108808 KiB |
| test_43.txt | AC | 974 ms | 108528 KiB |
| test_44.txt | AC | 978 ms | 108780 KiB |
| test_45.txt | AC | 791 ms | 108604 KiB |
| test_46.txt | AC | 926 ms | 108676 KiB |
| test_47.txt | AC | 951 ms | 108828 KiB |
| test_48.txt | AC | 939 ms | 108796 KiB |
| test_49.txt | AC | 970 ms | 108896 KiB |
| test_50.txt | AC | 912 ms | 108524 KiB |
| test_51.txt | AC | 809 ms | 108656 KiB |
| test_52.txt | AC | 937 ms | 108632 KiB |
| test_53.txt | AC | 967 ms | 108796 KiB |
| test_54.txt | AC | 934 ms | 108576 KiB |
| test_55.txt | AC | 959 ms | 108932 KiB |
| test_56.txt | AC | 995 ms | 108888 KiB |
| test_57.txt | AC | 1285 ms | 108840 KiB |
| test_58.txt | AC | 925 ms | 108536 KiB |
| test_59.txt | AC | 951 ms | 108828 KiB |
| test_60.txt | AC | 938 ms | 108244 KiB |
| test_61.txt | AC | 958 ms | 108756 KiB |
| test_62.txt | AC | 842 ms | 108280 KiB |
| test_63.txt | AC | 984 ms | 108896 KiB |
| test_64.txt | AC | 941 ms | 108400 KiB |
| test_65.txt | AC | 959 ms | 108888 KiB |
| test_66.txt | AC | 934 ms | 108616 KiB |
| test_67.txt | AC | 947 ms | 108764 KiB |
| test_68.txt | AC | 917 ms | 108540 KiB |
| test_69.txt | AC | 1039 ms | 108928 KiB |