#PD020B. 合唱队形 (chorus)
合唱队形 (chorus)
Cannot parse: expected a document, but the input is empty
合唱队形 (chorus)
- 输入:
chorus.in - 输出:
chorus.out - 时间限制:
1 s - 内存限制:
128 MB
题目描述
学校合唱团有 名同学,第 名同学的身高为 。任意两名同学的身高都不同。
排练时,老师会先让这 名同学按某个顺序依次走上舞台,然后按照下面的规则把他们插入到当前队形中:
- 第一名同学直接站入空队形。
- 从第二名同学开始,若当前同学比上一名走上舞台的同学高,则站到当前队形的最右端。
- 若当前同学比上一名走上舞台的同学矮,则站到当前队形的最左端。
现在给定老师希望得到的最终队形,即从左到右的身高序列 。
请你计算有多少种不同的上台顺序,可以得到这个最终队形。由于答案可能很大,请对 取模。
输入格式
从文件 chorus.in 中读入数据。
第一行包含一个整数 。
第二行包含 个整数 ,表示最终队形中从左到右每名同学的身高。
输出格式
输出到文件 chorus.out 中。
输出一个整数,表示能够得到该最终队形的上台顺序数量,对 取模。
样例1输入
4
3 1 2 4
样例1输出
2
样例1解释
有 种上台顺序可以得到最终队形 :
- 。
- 。
可以验证,不存在其他上台顺序能够得到相同的最终队形。
数据范围
对于所有数据,,,保证所有 两两不同。每个测试点 分。
| 测试点编号 | 特殊性质 | |
|---|---|---|
| 无 | ||
| 最终队形身高单调递增 | ||
| 无 | ||
相关
在下列比赛中: