#aBC222D. [ABC222D] Between Two Arrays

[ABC222D] Between Two Arrays

AT_abc222_d [ABC222D] Between Two Arrays

题目描述

当且仅当对于所有 ii 满足 1in11 \leq i \leq n-1 时都有 sisi+1s_i \leq s_{i+1},我们称长度为 nn 的数列 S=(s1,s2,,sn)S = (s_1, s_2, \dots, s_n) 是“广义单调递增”的。

给定两个长度为 NN 的广义单调递增整数列 A=(a1,a2,,aN)A = (a_1, a_2, \dots, a_N)B=(b1,b2,,bN)B = (b_1, b_2, \dots, b_N)

请考虑满足以下条件的广义单调递增长度为 NN 的整数列 C=(c1,c2,,cN)C = (c_1, c_2, \dots, c_N)

  • 对于所有 ii 满足 1iN1 \leq i \leq N,都有 aicibia_i \leq c_i \leq b_i

请输出作为 CC 可能的数列的个数对 998244353998244353 取模的结果。

输入格式

输入以如下格式从标准输入读入。

NN a1a_1 a2a_2 \dots aNa_N b1b_1 b2b_2 \dots bNb_N

输出格式

输出作为 CC 可能的数列的个数对 998244353998244353 取模的结果。

输入输出样例 #1

输入 #1

2
1 1
2 3

输出 #1

5

输入输出样例 #2

输入 #2

3
2 2 2
2 2 2

输出 #2

1

输入输出样例 #3

输入 #3

10
1 2 3 4 5 6 7 8 9 10
1 4 9 16 25 36 49 64 81 100

输出 #3

978222082

说明/提示

限制条件

  • 1N30001 \leq N \leq 3000
  • 0aibi30000 \leq a_i \leq b_i \leq 30001iN1 \leq i \leq N
  • 整数列 A,BA, B 均为广义单调递增。
  • 输入均为整数。

样例解释 1

作为 CC 可能的数列有如下 55 个:

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

注意,数列 (2,1)(2, 1) 不满足广义单调递增的条件,因此不计入答案。

样例解释 2

作为 CC 可能的数列仅有 11 个:

  • (2,2,2)(2, 2, 2)

样例解释 3

请注意,要求输出的结果需对 998244353998244353 取模。

由 ChatGPT 4.1 翻译