#ARC117B. 大楼拆除

大楼拆除

大楼拆除

时间限制:2s
空间限制:1024MB

题目描述

有 NN 栋楼,第 ii 栋初始有 AiA_i 层。一次操作可以选择正整数 XX,使当前高度不少于 XX 的所有楼都降低一层;操作可进行任意多次。求所有可能最终景观的数量,对 109+710^9+7 取模。两个景观只要有一栋楼的最终高度不同就视为不同。

输入格式

第一行一个整数 NN,第二行 NN 个整数 A1,…,ANA_1,\ldots,A_N。

输出格式

输出可能景观数对 109+710^9+7 取模的结果。

样例输入 1

2
1 2

样例输出 1

4

样例输入 2

6
5 3 4 1 5 2

样例输出 2

32

数据范围

对于所有数据,1≤N≤1051\le N\le10^5,1≤Ai≤1091\le A_i\le10^9。

子任务编号 分值 特殊限制
1 15 N≤8N\le8 且 Ai≤8A_i\le8
2 25 所有 AiA_i 相等
3 30 N≤2000N\le2000
4 无特殊限制