結果

問題 No.3004 ヤング図形
コンテスト
ユーザー titia
提出日時 2025-01-18 02:54:14
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 2,288 ms / 4,000 ms
コード長 611 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 137 ms
コンパイル使用メモリ 85,248 KB
実行使用メモリ 71,296 KB
最終ジャッジ日時 2026-06-17 05:00:38
合計ジャッジ時間 30,970 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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