Add and Multiply Queries
题目描述
给定长度为 N 的正整数序列 A 和 B。按给定顺序处理 Q 个查询。每个查询具有以下三种类型之一。
类型 1:形式为 1ix。将 Ai 替换为 x。
类型 2:形式为 2ix。将 Bi 替换为 x。
类型 3:形式为 3lr。解决以下问题并输出答案。
初始将 v=0。对于 i=l,l+1,...,r(按此顺序),将 v 替换为 v+Ai 或 v×Bi 中的一个。求最终 v 的最大可能值。
保证所有给定的类型 3 查询的答案至多为 1018。
输入格式
输入从标准输入给出,格式如下:
N
A1 A2 ⋯ AN
B1 B2 ⋯ BN
Q
query1
query2
⋮
queryQ
这里,queryi 是第 i 个查询,形式为以下之一:
1 i x
2 i x
3 l r
输出格式
设 q 为类型 3 查询的数量。输出 q 行。第 i 行应包含第 i 个类型 3 查询的答案。
3
3 2 4
1 2 2
3
3 1 3
1 1 1
3 1 3
12
7
6
65 32 12 5 8 312
4 1 3 15 16 2
6
3 2 6
3 1 5
1 5 6
2 4 9
3 2 6
3 3 5
46080
69840
27648
1728
提示
1≤N≤105
1≤Ai≤109
1≤Bi≤109
1≤Q≤105
对于类型 1 和 2 的查询,1≤i≤N。
对于类型 1 和 2 的查询,1≤x≤109。
对于类型 3 的查询,1≤l≤r≤N。
对于类型 3 的查询,要打印的值至多为 1018。对于第一个查询,答案是 ((0+A1)×B2)×B3=12。
对于第三个查询,答案是 ((0+A1)+A2)+A3=7.
标签: AtCoder|abc368G
来源
AtCoder|abc368G