結果

問題 No.1529 Constant Lcm
コンテスト
ユーザー titia
提出日時 2021-06-04 21:34:27
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 2,818 ms / 3,000 ms
コード長 532 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 142 ms
コンパイル使用メモリ 85,504 KB
実行使用メモリ 444,288 KB
最終ジャッジ日時 2026-05-13 19:34:27
合計ジャッジ時間 52,386 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 24
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

N=int(input())

from math import gcd
from collections import Counter

mod=998244353

X=[i for i in range(10**6+1)]
FACT=[Counter() for i in range(10**6+1)]

for i in range(2,10**6+1):
    if X[i]!=1:
        k=X[i]
        for j in range(i,10**6+1,i):
            X[j]//=k
            FACT[j][k]+=1

LCM=Counter()

for j in range(1,N):
    D1=FACT[j]
    D2=FACT[N-j]

    for s in set(D1.keys())|set(D2.keys()):
        LCM[s]=max(LCM[s],D1[s]+D2[s])

#print(LCM)

ANS=1
for s in LCM:
    ANS=ANS*pow(s,LCM[s],mod)%mod

print(ANS)
0