結果
問題 |
No.1191 数え上げを愛したい(数列編)
|
ユーザー |
|
提出日時 | 2020-09-16 22:42:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 572 ms / 2,000 ms |
コード長 | 637 bytes |
コンパイル時間 | 436 ms |
コンパイル使用メモリ | 82,952 KB |
実行使用メモリ | 95,996 KB |
最終ジャッジ日時 | 2024-06-22 03:41:45 |
合計ジャッジ時間 | 4,856 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 |
ソースコード
n,m,a,b=map(int,input().split()) if a*(n-1)>b: print(0) exit() mod=998244353 framod=[1] def framod_calc(n, mod, a=1): for i in range(1,n+1): a=a * i % mod framod.append(a) framod_calc(m, mod) def permmod(n, k, mod): if n<k: return 0 a=framod[n] c=framod[n-k] return (a * pow(c, mod-2, mod)) % mod def combmod(n, k, mod): if n<k: return 0 a=framod[n] b=framod[k] c=framod[n-k] return (a * pow(b, mod-2, mod) * pow(c, mod-2, mod)) % mod tmp=0 for res in range(b-(n-1)*a+1): tmp+=combmod(n+res-2,res,mod)*(m-res-a*(n-1)) tmp%=mod print(tmp*permmod(n,n,mod)%mod)