結果

問題 No.1330 Multiply or Divide
コンテスト
ユーザー c-yan
提出日時 2021-01-08 22:45:03
言語 Python3
(3.14.3 + numpy 2.4.4 + scipy 1.17.1)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 482 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 516 ms
コンパイル使用メモリ 20,824 KB
実行使用メモリ 36,124 KB
最終ジャッジ日時 2026-05-11 23:51:55
合計ジャッジ時間 11,250 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 46 WA * 5
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

def f(x):
    c = 0
    while x % P == 0:
        c += 1
        x //= P
    return (x, c)

N, M, P, *A = map(int, open(0).read().split())

max_A = max(A)

if max_A > M:
    print(1)
    exit()

result = 10 ** 20
for m, c in map(f, A):
    if m == 1:
        continue
    t = 0
    x = 1
    while True:
        t += 1
        if x * max_A > M:
            break
        t += c
        x *= m
    result = min(result, t)
if result == 10 ** 20:
    print(-1)
else:
    print(result)
0