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

葡萄酒工厂(困难版)

葡萄酒工厂(困难版)

  • 时间限制:5 秒
  • 内存限制:512 MiB

题目描述

有三个数组 a,b,ca,b,c。其中 a,ba,b 的长度为 nn,cc 的长度为 n−1n-1。

建立 nn 个水塔。第 ii 个水塔初始有 aia_i 升水,塔前巫师最多能把其中 bib_i 升水转化为葡萄酒。对每个 1≤i<n1\le i<n,水塔 ii 与 i+1i+1 之间有容量为 cic_i 的单向阀门。

按 i=1,2,…,ni=1,2,\ldots,n 的顺序处理水塔:

  1. 巫师从当前水塔取出至多 bib_i 升水并全部转化为葡萄酒;
  2. 若 i<ni<n,当前塔剩余的水中至多有 cic_i 升流入下一座水塔。

设整个过程得到的葡萄酒总量为 W(a,b,c)W(a,b,c)。

共有 qq 次修改。每次给出 p,x,y,zp,x,y,z,令 ap:=xa_p:=x、bp:=yb_p:=y、cp:=zc_p:=z。修改会保留到之后;当 p=np=n 时 cnc_n 不存在,zz 无实际意义。每次修改后输出当前的 W(a,b,c)W(a,b,c)。

输入格式

第一行两个整数 n,qn,q。

第二行 nn 个整数 a1,…,ana_1,\ldots,a_n。

第三行 nn 个整数 b1,…,bnb_1,\ldots,b_n。

第四行 n−1n-1 个整数 c1,…,cn−1c_1,\ldots,c_{n-1}。

接下来 qq 行,每行四个整数 p,x,y,zp,x,y,z,表示一次修改。

输出格式

输出 qq 行,每行一个整数,表示对应修改后的葡萄酒总量。

样例输入 1

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

样例输出 1

11
8
5

样例输入 2

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

样例输出 2

31
25
29
21
23

数据范围

2≤n≤5×1052\le n\le5\times10^5,1≤q≤5×1051\le q\le5\times10^5,0≤ai,bi,x,y≤1090\le a_i,b_i,x,y\le10^9,0≤ci,z≤10180\le c_i,z\le10^{18},1≤p≤n1\le p\le n。

子任务编号 分值 特殊限制
1 30 n,q≤2000n,q\le2000
2 所有初始阀门容量及修改后的有效阀门容量均为 101810^{18}
3 40 无特殊限制

每个测试点独立计分。