#P9197. [JOI Open 2016] 摩天大楼
[JOI Open 2016] 摩天大楼
题目背景
译自 JOI Open 2016 T3 「高層ビル街 / Skyscraper」
题目描述
将互不相同的 个整数 按照一定顺序排列。
假设排列为 ,要求:$| f_1 - f_2| + | f_2 - f_3| + \cdots + | f_{N-1} - f_N| \leq L$。
求满足题意的排列的方案数对 取模后的结果。
输入格式
输入共两行。
第一行有两个整数 。
第二行有 个整数 。
输出格式
输出共一行一个整数,表示方案数对 取模后的结果。
4 10
3 6 2 9
6
8 35
3 7 1 5 10 2 11 6
31384
提示
样例 1 解释
满足条件的六种方案分别为:
$$\begin{matrix} 2\ 3\ 6\ 9,& |2 - 3| + |3 - 6| + |6 - 9| &=& 7 \\ 2\ 3\ 9\ 6,& |2 - 3| + |3 - 9| + |9 - 6| &=& 10 \\ 3\ 2\ 6\ 9,& |3 - 2| + |2 - 6| + |6 - 9| &=& 8 \\ 6\ 9\ 3\ 2,& |6 - 9| + |9 - 3| + |3 - 2| &=& 10 \\ 9\ 6\ 2\ 3,& |9 - 6| + |6 - 2| + |2 - 3| &=& 8 \\ 9\ 6\ 3\ 2,& |9 - 6| + |6 - 3| + |3 - 2| &=& 7 \\ \end{matrix} $$数据规模与约定
本题采用捆绑测试。
对于所有数据,,,。
- Subtask 1(5 points):。
- Subtask 2(15 points):,。
- Subtask 3(80 points):没有额外限制。