时空限制
1S/512M
题目描述
定义一个整数数组 X0,X1,…,Xn。
这个数组的初始项为 X0。后续的每一项都由前一项根据给定的数组 A=[A1,…,An] 和 B=[B1,…,Bn] 计算得出。
具体的计算规则如下,对于 i 从 1 到 n:
Xi=⌊AiXi−1⌋−Bi
其中 ⌊z⌋ 表示对 z 向下取整。即取不大于 z 的最大整数。例如:
- ⌊3.14⌋=3
- ⌊5.0⌋=5
现在,我们已知数组的最后一项 Xn 的值等于 Y。你的任务是找出所有可能的初始值 X0 中,最大的一个是多少。
由于答案可能非常大,请输出这个最大的 X0 对 998244353 取模后的结果。
格式
输入格式
第一行包含一个整数 n,表示操作的次数。
第二行包含 n 个整数,表示数组 A 的元素 A1,A2,…,An。
第三行包含 n 个整数,表示数组 B 的元素 B1,B2,…,Bn。
第四行包含一个整数 Y,表示最终得到的结果。
输出格式
输出一个整数,表示最大的可能初始值 X0 对 998244353 取模的结果。
样例
样例输入 #1
2
2 3
1 1
5
样例输出 #1
43
样例解释 #1
- 初始值 X=43。
- 第 1 次操作:使用 A1=2,B1=1。X 变为 ⌊243⌋−1=21−1=20。
- 第 2 次操作:使用 A2=3,B2=1。X 变为 ⌊320⌋−1=6−1=5。
结果是 5。
可以证明,43 是能得到结果 5 的最大初始值。
数据规模
对于 20% 的数据,1≤n≤5,1≤Ai,Bi≤10,0≤Y≤10。
对于 40% 的数据,1≤n≤10,1≤Ai,Bi≤10,0≤Y≤10。
对于 100% 的数据,1≤n≤2×105,1≤Ai,Bi≤109,0≤Y≤109。