编程题
### 问题描述 这天小蓝在蓝桥镇散步,他在路边捡到一个魔法万花筒,万花筒里有一个由 $N$ 个整数组成的序列 $A$。万花筒上贴有一个纸条,上面写着在这个 $A$ 序列中,如果一个子序列的所有元素都是不同的,那么这个子序列便是合格的。 小蓝找了镇上的大魔法师询问才知道,如果从序列 $A$ 中找出所有的不同的、非空的合格子序列,那么便可以打开这个万花筒,得到里面的宝物。 现在你能告诉小蓝有多少不同的、非空的合格的子序列吗?于这个数量可能非常大,所以你只需要输出这个数量模 $10^9 + 7$ 的结果。 注意,两个子序列被认为是不同的,如果它们选择的下标不同。例如,在序列 $[1, 1]$ 中,有三个不同的非空子序列:$[1]$(第一个元素),$[1]$(第二个元素)和 $[1, 1]$。在这三个子序列中,前两个是合格的,最后一个则不是。 ### 输入格式 第一行包含一个正整数 $N$,表示序列 $A$ 的长度。 第二行包含 $N$ 个空格分隔的整数,表示序列 $A$ 的元素。 数据范围保证:$1 \leq N \leq 20$,$1 \leq A_i \leq 10^3$。 ### 输出格式 输出一个整数,表示好的子序列的数量模 $10^9 + 7$ 的结果。 ### 样例输入 ```text 2 1 1 ``` ### 样例输出 ```text 2 ```
查看答案
赣ICP备20007335号-2