题目描述
给定一个长度为 N 的排列 ai,你可以执行若干次操作:
问最后可能得到序列的数量,答案对 109+7 取模。
注意如果两个数中间所有的数被删除了,它们会变成相邻的。
输入格式
第一行输入一个正整数 N。
第二行输入 N 个正整数 ai。
输出格式
输出一个整数代表答案。
3
2 3 1
3
4
2 1 4 3
6
提示
【样例解释】
对于第一组样例,以下为所有可能得到的序列:
- [2,3,1]
- [2,3,1]→[2,1]
- [2,3,1]→[2,1]→[1]
对于第二组样例,以下为所有可能得到的序列:
- [2,1,4,3]
- [2,1,4,3]→[1,4,3]
- [2,1,4,3]→[1,4,3]→[1,3]
- $[\bold2,\bold1, 4, 3]\to[1,\bold4,\bold3]\to[\bold1,\bold3]\to[1]$
- [2,1,4,3]→[2,1,3]
- [2,1,4,3]→[2,1,3]→[2,1]
【数据范围】
本题采用捆绑测试。
- Subtask 1(8 points):只存在一组数据,满足 N=6,A=[2,5,1,3,4,6]。
- Subtask 2(20 points):N≤200。
- Subtask 3(13 points):N≤2000,Ai=i。
- Subtask 4(9 points):Ai=i。
- Subtask 5(23 points):N≤2000。
- Subtask 6(27 points):无特殊限制。
对于所有数据,N≤3×105,保证输入的 ai 能构成一个排列。