結果

問題 No.2141 Enumeratest
ユーザー sepa38sepa38
提出日時 2022-12-02 21:36:37
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 945 ms / 2,000 ms
コード長 512 bytes
コンパイル時間 355 ms
コンパイル使用メモリ 82,468 KB
実行使用メモリ 91,420 KB
最終ジャッジ日時 2024-10-09 22:44:06
合計ジャッジ時間 36,069 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 34
権限があれば一括ダウンロードができます

ソースコード

diff #

def cominit(n, mod):
  global fac, finv
  fac = [1] * n
  finv = [1] * n
  for i in range(2, n):
    fac[i] = (fac[i-1] * i) % mod
    finv[i] = (finv[i-1] * pow(i, mod-2, mod)) % mod

def comb(n, k):
  global mod
  if n < k:
    return 0
  if n < 0 or k < 0:
    return 0
  return (fac[n] * finv[n-k] * finv[k]) % mod

mod = 998244353

cominit(10**6+10, mod)


n, m = map(int, input().split())
ans = 1
k = m
for i in range(n-1):
  ans *= comb(k, m//n+(m%n>i))
  ans %= mod
  k -= m // n + (m % n > i)
print(ans)
0