#LQ1326. 数组切分

数组切分

问题描述

已知一个长度为 NN 的数组: A1,A2,A3,ANA_{1}, A_{2}, A_{3}, \ldots A_{N}​ 恰好是 1N1 \sim N 的一个排列。现在要求你将 AA 数组切分成若干个 (最少一个, 最多 NN 个) 连续的子数组, 并且每个子数组中包含的整数恰好可以组成一段连续的自然数。

例如对于 A=1,3,2,4A={1,3,2,4}, 一共有 55 种切分方法:

{1}{3}{2}{4}\{1\}\{3\} \{2\}\{4\} : 每个单独的数显然是 (长度为 1 的) 一段连续的自然数

{1}{3,2}{4}:{3,2}\{1\}\{3,2\} \{4\}:\{3,2\} 包含 2233 , 是 一段连续的自然数, 另外 {1}\{1\}{4}\{4\} 显然 也是。

{1}{3,2,4}:{3,2,4}\{1\}\{3,2,4\}:\{3,2,4\} 包含 2244 , 是 一段连续的自然数, 另外 {1}\{1\} 显然也是。

{1,3,2}{4}:{1,3,2}\{1,3,2\} \{4\}:\{1,3,2\} 包含 1133 , 是 一段连续的自然数, 另外 {4}\{4\} 显然也是。

{1,3,2,4}\{1,3,2,4\} : 只有一个子数组, 包含 1144 , 是 一段连续的自然数

输入格式

第一行包含一个整数 NN 。第二行包含 NN 个整数, 代表 AA 数组。

输出格式

输出一个整数表示答案。由于答案可能很大, 所以输出其对 10000000071000000007 取模后的值

4
1 3 2 4
5

评测用例规模与约定

对于 30% 评测用例, 1N201 \leq N \leq 20.

对于 100% 评测用例, 1N100001 \leq N \leq 10000.