#aBC368G. [ABC368G] Add and Multiply Queries

[ABC368G] Add and Multiply Queries

AT_abc368_g [ABC368G] Add and Multiply Queries

题目描述

给定两个长度为 N N 的正整数序列 A,B A, B 。需要处理 Q Q 个按顺序给出的查询。查询有以下三种类型:

  • 类型 1 1 :格式为 1 i x。将 Ai A_i 替换为 x x
  • 类型 2 2 :格式为 2 i x。将 Bi B_i 替换为 x x
  • 类型 3 3 :格式为 3 l r。需要解决以下问题并输出答案:
    • 初始时 v=0 v = 0 。依次对 i=l,l+1,,r i = l, l + 1, \dots, r 进行操作,每次操作将 v v 替换为 v+Ai v + A_i v×Bi v \times B_i 。求最终能得到的 v v 的最大值。 需要注意的是,输入中类型 3 3 的查询的答案保证在 1018 10^{18} 以下。

输入格式

输入从标准输入按以下格式给出:

N
A_1 A_2 ... A_N
B_1 B_2 ... B_N
Q
query_1
query_2
...
query_Q

其中 queryi query_i 是第 i i 个查询,可以是以下三种格式之一:

1 i x
2 i x
3 l r

输出格式

设类型 3 3 的查询个数为 q q ,则输出 q q 行。第 i i 行输出第 i i 个类型 3 3 的查询的答案。

输入输出样例 #1

输入 #1

3
3 2 4
1 2 2
3
3 1 3
1 1 1
3 1 3

输出 #1

12
7

输入输出样例 #2

输入 #2

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

输出 #2

46080
69840
27648
1728

说明/提示

制約

  • 1N105 1 \leq N \leq 10^5
  • 1Ai109 1 \leq A_i \leq 10^9
  • 1Bi109 1 \leq B_i \leq 10^9
  • 1Q105 1 \leq Q \leq 10^5
  • 类型 1 1 , 2 2 的查询中,1iN 1 \leq i \leq N
  • 类型 1 1 , 2 2 的查询中,1x109 1 \leq x \leq 10^9
  • 类型 3 3 的查询中,1lrN 1 \leq l \leq r \leq N
  • 类型 3 3 的查询中,输出值在 1018 10^{18} 以下