#AT1837. C - Not Equal

C - Not Equal

C - 不相等

得分:$300$ 分

问题描述

给定一个由 $N$ 个整数组成的序列 $C$。找出满足以下条件的 $N$ 个整数序列 $A$ 的数量。

  • $1 \leq A_i \leq C_i\, (1 \leq i \leq N)$
  • $A_i \neq A_j\, (1 \leq i < j \leq N)$

由于计数可能非常大,将其对 $(10^9+7)$ 取模后输出。

约束条件

  • $1 \leq N \leq 2 \times 10^5$
  • $1 \leq C_i \leq 10^9$
  • 输入中所有的值均为整数。

输入

从标准输入中按以下格式给出输入:

NN

C1C_1 C2C_2 \ldots CNC_N

输出

将满足以下条件的 $N$ 个整数序列 $A$ 的数量,对 $(10^9+7)$ 取模后输出。


2
1 3
2

我们有两个满足所有条件的序列 $A$:$(1,2)$ 和 $(1,3)$。
另一方面,例如 $A=(1,1)$ 不满足第二个条件。


4
3 3 4 4
12

2
1 1
0

我们没有满足所有条件的序列 $A$,所以应该输出 $0$。


10
999999917 999999914 999999923 999999985 999999907 999999965 999999914 999999908 999999951 999999979
405924645

请务必将计数值对 $(10^9+7)$ 取模后输出。