atcoder#ARC148E. [ARC148E] ≥ K

[ARC148E] ≥ K

题目描述

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

输入格式

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

N N K K A1 A_1 A2 A_2 \dots AN A_N

输出格式

答えを出力せよ。

题目大意

题目描述

给定长度为 nn 的数列 {ai}\{a_i\} 和一个自然数 KK, 可以将 {ai}\{a_i\} 打乱顺序重排,问多少种结果序列满足 i[1,n),ai+ai+1K\forall i \in [1,n), a'_i + a'_{i+1} \ge K。 答案对 998244353998244353 取模。

输入格式

n  Kn\ \ K
a1  a2 ... ana_1\ \ a_2\ ... \ a_n

输出格式

一个整数,答案对 998244353998244353 取模的结果。

样例解释1

44 个:$ (1,\ 4,\ 2,\ 3) - (1,\ 4,\ 3,\ 2)- (2,\ 3,\ 4,\ 1) - (3,\ 2,\ 4,\ 1)$

数据范围

2n2×105 2 \le n \le 2 \times 10^5
0ai,K109 0 \le a_i, K \le 10^9

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

提示

制約

  • 2  N  2 × 105 2\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 0  K  109 0\ \leq\ K\ \leq\ 10^9
  • 0  Ai  109 0\ \leq\ A_i\ \leq\ 10^9
  • 入力される値はすべて整数

Sample Explanation 1

条件を満たす数列は次の 4 4 通りです。 - (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)

Sample Explanation 2

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