No.3538 Not First Place
レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 29
作問者 :
nauclhlt
/ テスター :
もの
タグ : / 解いたユーザー数 29
作問者 :
nauclhlt
/ テスター :
もの
問題文最終更新日: 2026-04-28 22:56:42
yukicoder 499 contestの他の問題:
ご注意
本問題はC++およびPythonでのACを確認していますが、言語やランタイムによっては多少の高速化が求められる場合があります。
問題文
候補 $1, 2, \cdots, N$ までの $N$ 個の候補で人気投票が行われました。
この投票では合計 $M$ 人の人々が投票し、それぞれの人が $N$ 個の候補の中からちょうど $K$ 候補選んで投票しました。
各 $i\ (1\leq i\leq N)$ に対して候補 $i$ の得票数を $V_i$ として、列 $V=(V_1, V_2, \cdots, V_N)$ を定めます。以下の条件を満たす $V$ として考えられるものは何通りありますか?
- $\displaystyle V_{max}=\max_{1\leq i\leq N} V_i$ としたとき、$V_{max}>V_1\geq L$
答えは非常に大きくなる可能性があるため、$998244353$ で割った余りを求めてください。
入力
$N\ M\ K\ L$
- $2\leq N\leq 3000$
- $1\leq M\leq 3000$
- $1\leq K\leq N$
- $1\leq L\leq M$
- 入力は全て整数
出力
条件を満たす列 $V$ としてあり得るものの個数を $998244353$ で割った余りを $m$ として、この $m$ を1行に出力してください。
最後に改行してください。
サンプル
サンプル1
入力
5 3 1 1
出力
4
条件を満たす $V$ は $(1, 2, 0, 0, 0), (1, 0, 2, 0, 0), (1, 0, 0, 2, 0), (1, 0, 0, 0, 2)$ の $4$ つです。
サンプル2
入力
3000 3000 1500 1500
出力
743177420
$998244353$ で割った余りを求めることに注意してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。