結果
問題 |
No.1529 Constant Lcm
|
ユーザー |
|
提出日時 | 2021-06-04 20:29:15 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 843 bytes |
コンパイル時間 | 485 ms |
コンパイル使用メモリ | 82,232 KB |
実行使用メモリ | 531,332 KB |
最終ジャッジ日時 | 2024-11-19 09:13:48 |
合計ジャッジ時間 | 43,410 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 MLE * 1 |
other | AC * 16 TLE * 8 |
ソースコード
import sys def input(): return sys.stdin.readline().strip() def mapint(): return list(map(int, input().split())) sys.setrecursionlimit(10**9) N = int(input()) mod = 998244353 def prime_factorize(n): a = [] while n % 2 == 0: a.append(2) n //= 2 f = 3 while f * f <= n: if n % f == 0: a.append(f) n //= f else: f += 2 if n != 1: a.append(n) return a from collections import Counter, defaultdict count = [] for i in range(1, N): count.append(Counter(prime_factorize(i))) primes = defaultdict(int) for i in range(N-1): c_merged = count[i] + count[-i-1] for key in c_merged.keys(): primes[key] = max(c_merged[key], primes[key]) ans = 1 for key in primes.keys(): ans *= pow(key, primes[key], mod) ans %= mod print(ans)