AT_relay2018_c 積まれた本

题目描述

有 $N$ 本书按一列从下到上堆叠。第 $i$ 层($1 \leq i \leq N$)的书厚度为 $h_i$。 你打算将这些堆叠的书一本一本取出。如果某本书的最高点高度不超过 $H$,那么无论它在堆叠中的哪个位置,都可以被取出。当你取出一本书后,其上方的所有书会整体平移下降。 请计算,将所有书取出的顺序有多少种可能。

输入格式

输入通过标准输入给出,格式如下: > $N$ $H$ $h_1$ $h_2$ $\ldots$ $h_N$

输出格式

输出可以作为取出顺序的方案总数。

说明/提示

## 限制条件 - $1 \leq N \leq 10$ - $1 \leq H \leq 100$ - $1 \leq h_i \leq H$ - 输入的所有数值均为整数。 ## 样例说明 1 共有以下 $3$ 种方案: - 按最初状态从下到上依次取出第 $1$ 层、第 $2$ 层、第 $3$ 层、第 $4$ 层的书。 - 按最初状态依次取出第 $1$ 层、第 $3$ 层、第 $2$ 层、第 $4$ 层的书。 - 按最初状态依次取出第 $2$ 层、第 $1$ 层、第 $3$ 层、第 $4$ 层的书。 由 ChatGPT 4.1 翻译