#L3394. 「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 分别表示每个景点的权值。

输出格式

一行一个整数表示答案。

样例 1

  • 输入: 33 33 11 22 33
  • 输出: 22

样例 2

  • 输入: 66 55 11 11 44 55 11 44
  • 输出: 144144

样例 3

  • 输入: 1616 2020 1-1 99 9-9 99 1-1 33 9-9 22 8-8 44 1-1 44 00 88 55 33
  • 输出: 802901549802901549

数据范围与提示

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

  • subtask 1 (10 pts) \textbf{subtask 1 (10 pts) }n200n \le 200ai0a_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