結果
問題 |
No.1330 Multiply or Divide
|
ユーザー |
|
提出日時 | 2021-02-14 08:14:40 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 634 bytes |
コンパイル時間 | 309 ms |
コンパイル使用メモリ | 82,116 KB |
実行使用メモリ | 108,540 KB |
最終ジャッジ日時 | 2024-07-21 13:40:04 |
合計ジャッジ時間 | 5,452 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 45 WA * 1 |
ソースコード
def main1(n,m,p,a): if any([x>m for x in a]):return 1 bd=m mxvary=[-1]*31 for x in a: bd=min(bd,(m+1+x-1)//x) cnt=0 while x%p==0: cnt+=1 x//=p mxvary[cnt]=max(mxvary[cnt],x) if all([abs(x)==1 for x in mxvary]):return -1 ans=float('inf') for i in range(31): if abs(mxvary[i])==1:continue mxv=mxvary[i] tmp=0 now=1 while now<=bd: now*=mxv tmp+=i+1 if now>m: ans=min(ans,tmp) else: ans=min(ans,tmp+1) return ans if __name__=='__main__': n,m,p=map(int,input().split()) a=list(map(int,input().split())) ret1=main1(n,m,p,a) print(ret1)