#P6801. [CEOI2020] 花式围栏

[CEOI2020] 花式围栏

题目背景

0.1s,32MB

题目描述

众所周知,Balázs 拥有整个城镇中最漂亮的围栏。围栏由 NN 个部分组成,每个部分均为矩形,且相邻的两个部分间均紧密相连。第 ii 部分矩形的高度为 hih_i,宽度为 wiw_i,我们需要找到满足如下条件的花式矩形:

  • 矩形的每条边均是水平的或竖直的,且每条边的长度为整数。
  • 矩形与地面的距离为整数。
  • 矩形与围栏第一部分的左侧边的距离为整数。
  • 矩形完整包含在围栏中。

现在你需要求出花式矩形的总数。因为这个数字可能很大,请输出其对 109+710^9+7 取模后的结果。

输入格式

输入第一行包含一个整数 NN,代表围栏由 NN 部分组成。

第二行 NN 个整数,第 ii 个整数为第 ii 个矩形的高度 hih_i

第三行 NN 个整数,第 ii 个整数为第 ii 个矩形的宽度 wiw_i

输出格式

输出花式矩形数对 109+710^9+7 取模后的结果。

2
1 2
1 2
12

提示

样例解释 1

围栏形状如下所示:

形状如下的矩形有 55 个:

形状如下的矩形有 33 个:

形状如下的矩形有 11 个:

形状如下的矩形有 22 个:

形状如下的矩形有 11 个:

样例 2

见附加文件。

子任务

所有测试点均满足:1N1051 \leq N \leq 10^51hi,wi1091 \leq h_i,w_i \leq 10^9

各子任务的约束条件如下:

子任务编号 分值 约束
11 00 样例
22 1212 N50N \leq 50,且 i[1,N]\forall i \in [1,N]hi50h_i \leq 50wi=1w_i=1
33 1313 i[1,N]\forall i \in [1,N]hi=1h_i=1hi=2h_i=2
44 1515 所有的 hih_i 均相等
55 i[1,N1]\forall i \in [1,N-1]hihi+1h_i \leq h_{i+1}
66 1818 N1000N \leq 1000
77 2727 无特殊约束