atcoder#ARC148E. [ARC148E] ≥ K

[ARC148E] ≥ K

配点 : 800800

問題文

長さ NN の数列 A=(A1,...,AN)A = (A_1, ..., A_N) および整数 KK が与えられます。 AA の要素を並べ替えて得られる数列のうち、隣接する要素の和が KK より小さい箇所が存在しない数列は何通りありますか?個数を 998244353998244353 で割ったあまりを求めてください。

制約

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 0K1090 \leq K \leq 10^9
  • 0Ai1090 \leq A_i \leq 10^9
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN KK

A1A_1 A2A_2 \dots ANA_N

出力

答えを出力せよ。

4 5
1 2 3 4
4

条件を満たす数列は次の 44 通りです。

  • (1,4,2,3)(1, 4, 2, 3)
  • (1,4,3,2)(1, 4, 3, 2)
  • (2,3,4,1)(2, 3, 4, 1)
  • (3,2,4,1)(3, 2, 4, 1)
4 3
1 2 3 3
12

AA の要素を並べ替えてできる数列としてあり得るのは全部で 1212 通りあり、その全てが条件を満たします。

10 7
3 1 4 1 5 9 2 6 5 3
108