AT_dwacon6th_prelims_e Span Covering

题目描述

ニワンゴ君购买了一块用半开区间 $[0, X)$ 表示的土地。 ニワンゴ君打算在这块土地上铺设 $N$ 张地垫。每张地垫编号为 $1, 2, \ldots, N$,彼此区分。地垫 $i$ 可以选择一个整数 $j$,满足 $0 \leq j \leq X - L_i$,然后覆盖区间 $[j, j + L_i)$。 请计算有多少种铺设地垫的方法,使得 $[0, X)$ 上不存在未被地垫覆盖的坐标。由于答案可能很大,请输出答案对 $10^9+7$ 取模的结果。 两种铺设方法不同,当且仅当存在某个整数 $i$($1 \leq i \leq N$),使得地垫 $i$ 覆盖的区域不同。

输入格式

输入通过标准输入给出,格式如下: > $N$ $X$ $L_1$ $L_2$ $\ldots$ $L_N$

输出格式

请输出答案。

说明/提示

## 限制条件 - $1 \leq N \leq 100$ - $1 \leq L_i \leq X \leq 500$ - 输入中的所有值均为整数 ## 样例解释 1 - 如果不考虑是否覆盖整个区间,总共有 $18$ 种铺设地垫的方法。 - 其中,有 $4$ 种铺设方式使得 $[0,1)$ 没有被覆盖,有 $4$ 种铺设方式使得 $[2,3)$ 没有被覆盖。 - 其余的铺设方式都能用地垫完全覆盖 $[0,3)$,因此答案为 $10$ 种。 ## 样例解释 2 - 请输出铺设方式总数对 $10^9+7$ 取模的结果。 由 ChatGPT 4.1 翻译