結果

問題 No.1330 Multiply or Divide
ユーザー tktk_snsntktk_snsn
提出日時 2021-01-08 23:19:41
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 815 bytes
コンパイル時間 455 ms
コンパイル使用メモリ 81,920 KB
実行使用メモリ 143,580 KB
最終ジャッジ日時 2024-11-16 18:01:23
合計ジャッジ時間 6,031 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 39 WA * 7
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

N, M, P = map(int, input().split())
A = list(map(int, input().split()))
A = set(A)
if M == 1:
print(0)
exit()
ok = []
ng = []
for a in A:
if a == 1:
continue
if a % P == 0:
ng.append(a)
else:
ok.append(a)
ans = -1
if ok:
v = max(ok)
ans = 0
x = 1
while x < M:
x *= v
ans += 1
if ng:
for v in ng:
if v >= M:
ans = 1
continue
tmp = v
while tmp % P == 0:
tmp //= P
if tmp == 1:
continue
cnt = 0
x = 1
while x < M:
if x % P == 0:
x //= P
else:
x *= v
cnt += 1
if ans == -1:
ans = cnt
else:
cnt = min(cnt, ans)
print(ans)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0