問題一覧 > 教育的問題

No.2130 分配方法の数え上げ mod 998244353

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 115
作問者 : 👑 p-adicp-adic / テスター : 箱星箱星 taiga0629kyoprotaiga0629kyopro
0 ProblemId : 8616 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-11-08 00:27:13

問題文

入力に正整数 $N$ と $M$ が与えられます。

 

トーラス大好きbotはご存知の通りドーナツが大好きなbotです。

トーラス大好きbot大好きbotはご存知の通りトーラス大好きbotが大好きなbotです。もちろん $2$ 体は別物です。

ある日、あなたはトーラス大好きbotトーラス大好きbot大好きbotに合計 $N$ 種類のドーナツを $1$ 個ずつ買ってあげました。

この $N$ 種類のドーナツを $2$ 体に分配したいのですが、トーラス大好きbotはもらえる個数が $M$ 個以上でないと泣いてしまいます。

 

トーラス大好きbotが泣かないように $N$ 種類のドーナツを $2$ 体に分配する方法の総数を $998244353$ で割った余りを求めてください。

ただし分配する方法の総数を数える上で、異なる種類のドーナツは区別します。

入力

入力は次の形式で標準入力から与えられます:
$N$
$M$

制約

入力は以下の制約を満たします:

  • $N$ は $10^{18}$ 以下の正整数
  • $M$ は $10^5$ 以下の正整数

出力

トーラス大好きbotが泣かないように $N$ 種類のドーナツを $2$ 体に分配する方法の総数を $998244353$ で割った余りを出力してください。

最後に改行してください。

サンプル

サンプル1
入力
1
1
出力
1

あなたはドーナツを $1$ 種類 $1$ 個ずつ買ったので、トーラス大好きbotが泣かないようにトーラス大好きbotに $1$ 種類以上あげる分配方法は、

  • あなたが買ってきた $1$ 個のドーナツをトーラス大好きbotにあげてトーラス大好きbot大好きbotにはあげないという分配方法

の $1$ 種類のみです。$1$ を $998244353$ で割った余りは $1$ です。

サンプル2
入力
1
2
出力
0

あなたはドーナツを $1$ 種類 $1$ 個ずつしか買わなかったので、トーラス大好きbotが泣かないようにトーラス大好きbotに $2$ 個以上あげる分配方法はありません。$0$ を $998244353$ で割った余りは $0$ です。

サンプル3
入力
2
1
出力
3

あなたはドーナツを $2$ 種類 $1$ 個ずつ買ったので、それらをドーナツAとドーナツBと置くと、トーラス大好きbotが泣かないようにトーラス大好きbotに $1$ 個以上あげる分配方法は、

  • トーラス大好きbotにドーナツAをあげてトーラス大好きbot大好きbotにドーナツBをあげるという分配方法
  • トーラス大好きbotにドーナツBをあげてトーラス大好きbot大好きbotにドーナツAをあげるという分配方法
  • トーラス大好きbotにドーナツAとドーナツBをあげてトーラス大好きbot大好きbotにはドーナツをあげないという分配方法

の $3$ 種類です。$3$ を $998244353$ で割った余りは $3$ です。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。