T384244 [GLFLS 6B] 玉兔逐月

题目描述

一只好大好大的兔子闯入熊族晚会现场,声称其为玉兔。现在它需要小熊协助它登上山顶,以返回月亮。 熊族晚会现场在山脚,距离山顶 $n$ 米,且路上有 $m$ 个位置不能到达,其中第 $i$ 个位置距离山脚 $a_i$ 米。小熊背着兔子时,单位时间可以走 $1$ 米;兔子背着小熊时,单位时间可以跳 $1$ 米或 $2$ 米;它们也可以选择休息单位时间。小熊和兔子都不能背着对方连续行动超过 $1$ 个单位时间。 求它们登上山顶需要的最短时间及其方案数,或者告诉它们无法登上山顶。两个方案不同,当且仅当存在某个时刻,两者的行为不同。由于第二问答案可能很大,第二问答案对 $10^9+7$ 取模。

输入格式

第一行,两个整数,$n$ 和 $m$。 如果 $m \neq 0$,第二行,$m$ 个正整数,第 $i$ 个数为 $a_i$。数据保证 $a_1 < a_2 < \cdots < a_m$。

输出格式

共一行,两个正整数,第一个数代表它们登上山顶需要的最短时间,第二个数代表在时间最短的情况下共有多少种不同的方案。第二问答案对 $10^9+7$ 取模。 如果它们无法登上山顶,输出 `0 0`。

说明/提示

### 样例 1 说明 方案一:小熊走 $1$ 米,兔子跳 $2$ 米,小熊走 $1$ 米,兔子跳 $2$ 米。 方案二:兔子跳 $2$ 米,小熊走 $1$ 米,兔子跳 $2$ 米,小熊走 $1$ 米。 ### 样例 2 说明 从 $0$ 到 $2$,方案一:兔子跳 $2$ 米,休息。 从 $0$ 到 $2$,方案二:兔子跳 $1$ 米,小熊走 $1$ 米。 从 $2$ 到 $4$:兔子跳 $2$ 米。 从 $4$ 到 $6$,方案一:休息,兔子跳 $2$ 米。 从 $4$ 到 $6$,方案二:小熊走 $1$ 米,兔子跳 $1$ 米。 共 $2 \times 2 = 4$ 种。 ### 数据范围与约定 对于 $100\%$ 的数据,$1 \le n \le 10^5$,$0 \le m < n$,$0 < a_i < n$。 | 测试点编号 | 特殊性质 | 对应样例 | | :----------: | :----------: | :----------: | | $1 \sim 2$ | $n \le 12$ | $2$ | | $3 \sim 5$ | $m = 0$ | $1$ | | $6 \sim 10$ | | $3, 4$ |