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$ |