题目背景
小 K 是一个刚刚高考完的高中生,他正在计划一次毕业旅行,但却被一些细节难住了,快来帮帮他!
题目描述
毕业旅行的计划上一共有 n 个景点,大家会按某种顺序游览这些景点,每一个景点都会被游览恰好一次。
每个景点都有一个坐标 ai,从坐标为 a 的景点坐车前往坐标为 b 的景点会给大家造成 a×b 的不适感,每次下车后不适感都会清零(即不适感不会累加)。如果某次坐车的不适感超过了某个常数 w,就会有人生病。
小 K 想问你,有多少种游览所有景点的顺序,使得全程都不会有人生病,答案对 998244353 取模。
输入格式
第一行一个正整数 n 和一个非负整数 w。
第二行 n 个整数 a1,a2,⋯,an。
输出格式
输出一行一个整数,表示答案。
3 3
1 2 3
2
6 5
1 1 4 5 1 4
144
16 20
9 9 3 2 4 4 8 5 3 -1 -9 -1 -9 -8 -1 0
802901549
提示
样例解释
对于样例 1,有 2−1−3 和 3−1−2 两种合法的顺序。
数据范围
本题共有 10 个子任务,你需要通过一个子任务内的所有测试点才能取得这个子任务的分数。
对于所有数据,0≤w,∣ai∣≤109,1≤n≤50000。
| # |
n |
a |
分值 |
| 1 |
n≤10 |
无特殊限制 |
5 |
| 2 |
n≤20 |
| 3 |
n≤2000 |
ai∈{1,w} |
| 4 |
n≤2000 |
不同的 ai 只有三个,ai≥0 |
| 5 |
n≤200 |
ai≥0 |
10 |
| 6 |
n≤2000 |
ai≥0 |
15 |
| 7 |
n≤50000 |
ai≥0 |
20 |
| 8 |
n≤200 |
无特殊限制 |
15 |
| 9 |
n≤2000 |
10 |
| 10 |
n≤50000 |