結果

問題 No.3004 ヤング図形
ユーザー titia
提出日時 2025-01-18 02:54:14
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 3,474 ms / 4,000 ms
コード長 611 bytes
コンパイル時間 538 ms
コンパイル使用メモリ 82,736 KB
実行使用メモリ 71,168 KB
最終ジャッジ日時 2025-01-18 02:55:04
合計ジャッジ時間 48,533 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import Counter

K=int(input())
LM=[list(map(int,input().split())) for i in range(K)]

mod=998244353

K=[]

for l,m in LM:
    K.append(l*m)

ANS=1
SUM=sum(K)

PLUS=Counter()
INV=Counter()

PLUS[SUM]+=1
for i in range(len(K)):
    if SUM-K[i]>0:
        INV[K[i]]+=1
    else:
        INV[SUM]+=1
    SUM-=K[i]
        

for l,m in LM:
    SUM=l*m
    PLUS[SUM]+=1
    INV[l]+=m

    INV[m]+=1

f=1
ANS=1
for i in range(1,sum(K)+1):
    f=f*i%mod
    if i in PLUS:
        ANS=ANS*pow(f,PLUS[i],mod)%mod
    if i in INV:
        ANS=ANS*pow(pow(f,INV[i],mod),mod-2,mod)%mod

print(ANS%mod)
    
0