結果
| 問題 |
No.3250 最小公倍数
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-08-29 22:58:58 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 589 bytes |
| コンパイル時間 | 619 ms |
| コンパイル使用メモリ | 82,444 KB |
| 実行使用メモリ | 634,696 KB |
| 最終ジャッジ日時 | 2025-10-16 16:32:08 |
| 合計ジャッジ時間 | 8,135 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 1 |
| other | MLE * 1 -- * 21 |
ソースコード
(n,),a,*e=[[*map(int,s.split())]for s in open(0)]
M=998244353
def pf(n):
a,f={},2
while f*f<=n:
if n%f:f+=1
else:a[f]=a.get(f,0)+1;n//=f
if n>1:a[n]=a.get(n,0)+1
return a
g=[[]for _ in range(n)]
for u,v in e:
g[u-1]+=v-1,
g[v-1]+=u-1,
q=[(0,-1,0)]
l=[pf(i)for i in a]
while q:
p,z,s=q.pop()
if s:
for k,v in l[p].items():
if k in l[z]:
l[z][k]=max(l[z][k],v)
else:
l[z][k]=v
continue
for v in g[p]:
if v!=z:
q+=(v,p,1),(v,p,0),
for i in range(n):
ans=1
for k,v in l[i].items():
ans*=pow(k,v,M)
ans%=M
print(ans)