結果
問題 |
No.1330 Multiply or Divide
|
ユーザー |
![]() |
提出日時 | 2021-09-25 13:03:37 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 483 bytes |
コンパイル時間 | 167 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 33,016 KB |
最終ジャッジ日時 | 2024-07-05 12:04:15 |
合計ジャッジ時間 | 8,132 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 39 WA * 7 |
ソースコード
N, M, P = map(int, input().split()) A = list(map(int, input().split())) if M == 1: print(0) exit() last = max(A) # これ、最後に必ずかける target = (M + last - 1) // last if target == 1: print(1) exit() ans = 10 ** 18 for a in A: cnt = 1 x = a while x % P == 0: cnt += 1 x //= P if x == 1: continue tmp = cnt * ((target + x - 1) // x) + 1 ans = min(ans, tmp) if ans >= 10 ** 18: ans = -1 print(ans)