#P3394. 「2020-2021 集训队作业」Tour

「2020-2021 集训队作业」Tour

题目描述

小 W 决定来一次毕业旅行,他来到了 T 市,T 市有 nn 个景点,他想要从酒店出发,恰好经过每个景点一次之后回到酒店。

但是小 W 不想让自己太累,具体地说,在 从一个景点移动到另外一个景点的时候,小 W 会感受到劳累。具体来说,每个景点有一个 整数 权值 viv_i 如果从第 ii 个景点走到第 jj 个景点,则小 W 的劳累值是 vi×vjv_i\times v_j,整个旅途的劳累值是移动时的劳累值的最大值。

小 W 不想让自己太累,于是他想要找到一个旅行方案,旅途中的劳累值低于一个 非负整数 ww,但是他觉得这个问题对你来说太简单了,所以他想询问总共有多少种不同的旅行方案满足条件,对 998244353998244353 取模。

输入格式

第一行两个数 n,wn,w 分别表示景点个数以及劳累值的限制。

第二行 nn 个整数 viv_i 分别表示每个景点的权值。

输出格式

一行一个整数表示答案。

3 3
1 2 3
2
6 5
1 1 4 5 1 4
144
16 20
-1 9 -9 9 -1 3 -9 2 -8 4 -1 4 0 8 5 3
802901549

数据范围与提示

对于所有数据,0w,ai1090 \le w, |a_i| \le 10^9 1n2000001 \le n \le 200000

subtask 1 (10 pts) \textbf{subtask 1 (10 pts) }n200n\le 200 ai0a_i\ge 0

subtask 2 (10 pts) \textbf{subtask 2 (10 pts) }n2000n\le 2000ai0a_i\ge 0

subtask 3 (10 pts) \textbf{subtask 3 (10 pts) }n50000n\le 50000ai0a_i \ge 0

subtask 4 (10 pts) \textbf{subtask 4 (10 pts) }n200000n\le 200000ai0a_i \ge 0

subtask 5 (10 pts) \textbf{subtask 5 (10 pts) }n200n\le 200

subtask 6 (10 pts) \textbf{subtask 6 (10 pts) }n2000n\le 2000

subtask 7 (20 pts) \textbf{subtask 7 (20 pts) }n50000n\le 50000

subtask 8 (20 pts) \textbf{subtask 8 (20 pts) }n200000n\le 200000