結果
問題 |
No.1723 [Cherry 3rd Tune *] Dead on
|
ユーザー |
![]() |
提出日時 | 2021-11-04 23:19:50 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,503 bytes |
コンパイル時間 | 152 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 80,384 KB |
最終ジャッジ日時 | 2024-10-15 05:53:21 |
合計ジャッジ時間 | 6,922 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 WA * 30 |
ソースコード
#!/usr/bin/env python3 from pprint import pprint from sys import setrecursionlimit, stdin from typing import Dict, Iterable, Set INF: int = 1 << 62 setrecursionlimit(1_000_000) def inputs(type_=int): ins = input().split(' ') ins = [x for x in ins if x != ''] if isinstance(type_, Iterable): return [t(x) for t, x in zip(type_, ins)] else: return list(map(type_, ins)) def input_(type_=int): a, = inputs(type_) return a inputi = input_ def inputstr(): return input_(str) def answer(res) -> None: print(res) exit() # start coding def get_one_factor(n: int, start: int = 2) -> int: """ 一つの素因数を計算する 計算量は O(sqrt(n)) """ i = start while i * i <= n: if n % i == 0: return i i += 1 return n def compute_factors(n: int): """ 素因数分解を計算する 計算量は O(sqrt(n)log(n)) """ assert n >= 1 if n == 1: return {} d = {} start = 2 while n > 1: k = get_one_factor(n, start) start = k count = 0 while n % k == 0: n //= k count += 1 d[k] = count return d x, a, y, b = inputs() f1 = compute_factors(x) for k in f1: f1[k] *= a f2 = compute_factors(y) for k in f2: f2[k] *= b res = True for k in f2: if k in f1: res &= f2[k] >= f1[k] else: res = False if res: print('Yes') else: print('No')