結果

問題 No.1665 quotient replace
ユーザー taiga0629kyoprotaiga0629kyopro
提出日時 2021-09-03 21:39:22
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 861 ms / 3,000 ms
コード長 754 bytes
コンパイル時間 314 ms
コンパイル使用メモリ 82,816 KB
実行使用メモリ 253,692 KB
最終ジャッジ日時 2024-05-09 02:32:33
合計ジャッジ時間 14,707 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 35 ms
52,224 KB
testcase_01 AC 35 ms
51,712 KB
testcase_02 AC 40 ms
52,096 KB
testcase_03 AC 97 ms
87,088 KB
testcase_04 AC 91 ms
87,336 KB
testcase_05 AC 82 ms
86,272 KB
testcase_06 AC 111 ms
87,536 KB
testcase_07 AC 101 ms
87,688 KB
testcase_08 AC 94 ms
87,864 KB
testcase_09 AC 114 ms
88,744 KB
testcase_10 AC 362 ms
131,516 KB
testcase_11 AC 639 ms
181,504 KB
testcase_12 AC 156 ms
96,000 KB
testcase_13 AC 861 ms
253,184 KB
testcase_14 AC 833 ms
253,304 KB
testcase_15 AC 854 ms
253,692 KB
testcase_16 AC 845 ms
253,176 KB
testcase_17 AC 829 ms
253,560 KB
testcase_18 AC 71 ms
81,408 KB
testcase_19 AC 61 ms
74,752 KB
testcase_20 AC 73 ms
81,948 KB
testcase_21 AC 71 ms
82,332 KB
testcase_22 AC 62 ms
77,568 KB
testcase_23 AC 76 ms
83,696 KB
testcase_24 AC 75 ms
81,392 KB
testcase_25 AC 62 ms
77,952 KB
testcase_26 AC 91 ms
87,480 KB
testcase_27 AC 91 ms
87,480 KB
testcase_28 AC 102 ms
88,640 KB
testcase_29 AC 116 ms
92,788 KB
testcase_30 AC 301 ms
165,636 KB
testcase_31 AC 419 ms
193,944 KB
testcase_32 AC 609 ms
180,780 KB
testcase_33 AC 294 ms
117,820 KB
testcase_34 AC 513 ms
182,152 KB
testcase_35 AC 489 ms
167,964 KB
testcase_36 AC 509 ms
180,572 KB
testcase_37 AC 476 ms
166,056 KB
testcase_38 AC 531 ms
194,144 KB
testcase_39 AC 409 ms
152,328 KB
testcase_40 AC 400 ms
152,212 KB
testcase_41 AC 409 ms
151,948 KB
testcase_42 AC 35 ms
51,968 KB
testcase_43 AC 35 ms
52,224 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

n=int(input())
a=list(map(int,input().split()))
x=[]
###########
prime_num=max(a)+10
###########


min_prime=[-1]*(prime_num+1) #2以上の自然数に対して最小の素因数を表す
min_prime[0]=0
min_prime[1]=1
i=2
prime=[]
while i<=prime_num:
    if min_prime[i]==-1:
        min_prime[i]=i
        prime.append(i)
    for j in prime:
        if i*j>prime_num or j>min_prime[i]:break
        min_prime[j*i]=j
    i+=1

def prifac(n):
    res={}
    x=n
    while x>1:
        p=min_prime[x]
        if p in res:res[p]+=1
        else:res[p]=1
        x//=p
    return res
for i in range(n):
    res=0
    p=prifac(a[i])
    for key in p:res+=p[key]
    x.append(res)

ans=0
for i in range(n):
    ans^=x[i]
print("white" if ans>0 else "black")


0