#ATarc146e. [ARC146E] Simple Speed

[ARC146E] Simple Speed

题目描述

给定一个长度为 NN 的正整数序列 A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N)

请输出满足以下所有条件的整数序列 BBBB11NN 之间的整数构成)的个数,对 998244353998244353 取模。

  • 对于每个满足 1iN1 \leq i \leq N 的整数 iiBB 中恰好有 AiA_iii
  • 对于每个满足 1iB11 \leq i \leq |B|-1 的整数 ii,都有 BiBi+1=1|B_i - B_{i+1}| = 1

输入格式

输入以以下格式从标准输入给出。

NN A1A_1 A2A_2 \dots ANA_N

输出格式

请输出答案。

样例 1

输入

3
2 3 1

输出

6

样例 2

输入

1
200000

输出

0

样例 3

输入

6
12100 31602 41387 41498 31863 12250

输出

750337372

说明/提示

限制条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Ai2×1051 \leq A_i \leq 2 \times 10^5
  • 输入均为整数。

样例解释 1

满足条件的 BB 有以下 66 种:

  • (1,2,1,2,3,2)(1,2,1,2,3,2)
  • (1,2,3,2,1,2)(1,2,3,2,1,2)
  • (2,1,2,1,2,3)(2,1,2,1,2,3)
  • (2,1,2,3,2,1)(2,1,2,3,2,1)
  • (2,3,2,1,2,1)(2,3,2,1,2,1)
  • (3,2,1,2,1,2)(3,2,1,2,1,2)

因此,答案为 66

样例解释 2

也有可能不存在满足条件的 BB

由 ChatGPT 4.1 翻译