#CF1919F2. 葡萄酒工厂(困难版本)

葡萄酒工厂(困难版本)

F2. 葡萄酒工厂(困难版本)
每个测试的时间限制:55
内存限制:512512 MB

这是问题的困难版本。两个版本之间的唯一区别是对 cic_izz 的约束。只有当问题的两个版本都解决时,你才能进行 hack。

有三个数组 aabbccaabb 的长度为 nncc 的长度为 n1n-1。令 W(a,b,c)W(a,b,c) 表示通过以下过程产生的葡萄酒的升数。

创建 nn 个水塔。第 ii 个水塔最初有 aia_i 升水,并且在其前面有一位能力为 bib_i 的巫师。此外,对于每个 1in11 \le i \le n-1,有一个连接水塔 ii 和水塔 i+1i+1 的阀门,容量为 cic_i

对于每个 ii11nn,按顺序发生以下情况:

  • 水塔 ii 前面的巫师从塔中移出最多 bib_i 升水,并将移出的水转化为葡萄酒。
  • 如果 ini \neq n,水塔 ii 中剩余的水中最多有 cic_i 升通过阀门流入水塔 i+1i+1

共有 qq 次更新。在每次更新中,你会得到整数 ppxxyyzz,并更新 ap:=xa_p:=xbp:=yb_p:=y 以及 cp:=zc_p:=z。每次更新后,求 W(a,b,c)W(a,b,c) 的值。注意,之前对数组 aabbcc 的更新会在后续所有更新中持续生效。

输入
第一行包含两个整数 nnqq (2n5105(2 \le n \le 5 \cdot 10^51q5105)1 \le q \le 5 \cdot 10^5) — 水塔的数量和更新的数量。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n (0ai109)(0 \le a_i \le 10^9) — 水塔 ii 中水的升数。

第三行包含 nn 个整数 b1,b2,,bnb_1,b_2,\dots,b_n (0bi109)(0 \le b_i \le 10^9) — 水塔 ii 前面的巫师的能力。

第四行包含 n1n-1 个整数 c1,c2,,cn1c_1,c_2,\dots,c_{n-1} (0ci1018)(0 \le c_i \le 10^{18}) — 连接水塔 ii 到水塔 i+1i+1 的管道容量。

接下来的 qq 行,每行包含四个整数 ppxxyyzz (1pn(1 \le p \le n0x,y1090 \le x,y \le 10^90z1018)0 \le z \le 10^{18}) — 对数组 aabbcc 的更新。

注意 cnc_n 不存在,所以当 p=np=n 时,zz 的值没有影响。

输出
输出 qq 行,每行一个整数,表示每次更新后的 W(a,b,c)W(a,b,c)

示例
输入:

4 3
3 3 3 3
1 4 2 8
5 2 1
4 3 8 1000000000
2 5 1 1
3 0 0 0

输出:

11
8
5

输入:

5 5
10 3 8 9 2
3 4 10 8 1
6 5 9 2
5 4 9 1
1 1 1 1
2 7 4 8
4 1 1 1
1 8 3 3

输出:

31
25
29
21
23

说明
第一次更新没有对数组做任何修改。

  • i=1i=1 时,水塔 11 中有 33 升水,11 升水被转化为葡萄酒。剩余的 22 升水流向水塔 22
  • i=2i=2 时,水塔 22 中有 55 升水,44 升水被转化为葡萄酒。剩余的 11 升水流向水塔 33
  • i=3i=3 时,水塔 33 中有 44 升水,22 升水被转化为葡萄酒。尽管剩余 22 升水,只有 11 升水可以流向水塔 44
  • i=4i=4 时,水塔 44 中有 44 升水。所有 44 升水都被转化为葡萄酒。

因此,第一次更新后 W(a,b,c)=1+4+2+4=11W(a,b,c)=1+4+2+4=11

第二次更新将数组修改为 a=[3,5,3,3]a=[3,5,3,3]b=[1,1,2,8]b=[1,1,2,8]c=[5,1,1]c=[5,1,1]

  • i=1i=1 时,水塔 11 中有 33 升水,11 升水被转化为葡萄酒。剩余的 22 升水流向水塔 22
  • i=2i=2 时,水塔 22 中有 77 升水,11 升水被转化为葡萄酒。尽管剩余 66 升水,只有 11 升水可以流向水塔 33
  • i=3i=3 时,水塔 33 中有 44 升水,22 升水被转化为葡萄酒。尽管剩余 22 升水,只有 11 升水可以流向水塔 44
  • i=4i=4 时,水塔 44 中有 44 升水。所有 44 升水都被转化为葡萄酒。

因此,第二次更新后 W(a,b,c)=1+1+2+4=8W(a,b,c)=1+1+2+4=8

第三次更新将数组修改为 a=[3,5,0,3]a=[3,5,0,3]b=[1,1,0,8]b=[1,1,0,8]c=[5,1,0]c=[5,1,0]

  • i=1i=1 时,水塔 11 中有 33 升水,11 升水被转化为葡萄酒。剩余的 22 升水流向水塔 22
  • i=2i=2 时,水塔 22 中有 77 升水,11 升水被转化为葡萄酒。尽管剩余 66 升水,只有 11 升水可以流向水塔 33
  • i=3i=3 时,水塔 33 中有 11 升水,00 升水被转化为葡萄酒。尽管剩余 11 升水,没有水可以流向水塔 44
  • i=4i=4 时,水塔 44 中有 33 升水。所有 33 升水都被转化为葡萄酒。

因此,第三次更新后 W(a,b,c)=1+1+0+3=5W(a,b,c)=1+1+0+3=5