145. 数组子序列的排列
内存限制:256 MB
时间限制:1.000 S
题目描述
讨厌鬼有一个长度为 n (1 < n < 10^5)的数组,他想知道这个数组有多少个子序列是一个排列?
子序列的定义: 数组删除若干个元素(也可以不删)后得到的新数组。
排列的定义: 长度为 m 的数组,1 到 m 每个元素都出现过,且恰好出现 1 次。
输入
第一行输入一个整数 n。
第二行输入 n 个正整数,a1, a2, ..., an。(1 <= ai <= 10^9)
输出
一行一个整数,表示有多少个子序列是一个排列。由于答案过大,请将答案对 10^ 9 + 7 取模后输出
样例输入 复制
6
1 1 5 2 3 4
样例输出 复制
10
提示
符合要求的子序列有:{1},{1},{1,2},{1,2},{1,2,3},{1,2,3},{1,2,3,4},{1,2,3,4},{1,5,2,3,4},{1,5,2,3,4}共 10 个