#18035. 阵列神器

阵列神器

题目描述

有一个给定的 nnnn 列的方阵 AA。方阵 AA 中的每个位置有一个非负整数,用 Ai,jA_{i,j} 表示第 ii 行第 jj 列的数,1i,jn1\le i,j \le n

有两个给定的长为 nn 的非负整数列,{ai}\{a_i\}{bi}\{b_i\}

现在你要构造一个同样 n×nn\times n 大小的新的方阵 BB,满足:

  • BB 的元素 Bi,j(1i,jn)B_{i,j} (1\le i,j\le n) 都是非负整数。
  • BB 的每个元素不能超过 AA 对应位置的元素。也就是对于任意 1i,jn1\le i,j \le n,必须满足 0Bi,jAi,j0\le B_{i,j}\le A_{i,j}
  • 对于每个 1in1\le i\le nBB 的前 ii 行所有元素的和不超过 aia_i
  • 对于每个 1in1\le i\le nBB 的前 ii 列所有元素的和不超过 bib_i

问:方阵 BB 中的所有元素的和最大可能是多少?

这个问题中,方阵 AA 的非零元素个数只有不超过 mm 个。具体而言,方阵 AA 采用如下方式输入:初始情况下 AA 的元素全部为 00,然后有 mm 次操作,每次给定 ui,vi,ciu_i,v_i,c_i,表示给 AA 的第 uiu_iviv_i 列加上 cic_i。(保证不同操作中 ui,viu_i,v_i 互不相等)

输入格式

为减少输入量,a,b,ua,b,u 均由差分形式给出。

第一行两个数 n,mn,m

第二行 nn 个数,其中第 ii 个为 aiai1a_i-a_{i-1},设 a0=0a_0=0。(也就是说输入数组的前缀和才是真正的 aa

第三行 nn 个数,其中第 ii 个为 bibi1b_i-b_{i-1},设 b0=0b_0=0。(也就是说输入数组的前缀和才是真正的 bb

接下来 mm 行,每行三个数,其中第 ii 行为 uiui1,vi,ciu_i-u_{i-1},v_i,c_i,设 u0=0u_0=0。(也就是说输入的这些三元组中第一个元素要做前缀和才得到真正的 uu)。ui,vi,ciu_i,v_i,c_i 表示给 AA 的第 uiu_iviv_i 列加上 cic_i

保证这些差分都非负,也就是说 a,b,ua,b,u 的输入顺序都是单调不降的。

输出格式

一行一个非负整数,表示方阵 BB 中的所有元素最大可能的和。

样例

样例输入 1

2 3
2 2
2 2
1 1 2
0 2 2
1 1 2

样例输出 1

4

样例解释 1

还原后的输入为:

a=b={2,4}a=b=\{2,4\}

A=[2220]A=\begin{bmatrix} 2 & 2 \\ 2 & 0 \\ \end{bmatrix}

一个最优解是:

B=[0220]B=\begin{bmatrix} 0 & 2 \\ 2 & 0 \\ \end{bmatrix}

样例输入 2

10 10
1 0 1 1 1 0 1 2 2 1
1 1 0 1 0 1 2 2 1 0
1 8 1
1 4 1
1 3 1
2 6 1
1 6 1
0 1 1
0 4 1
0 9 1
3 2 1
0 10 1

样例输出 2

6

样例解释 2

一个最优解是,B1,8=B5,6=B6,6=B6,9=B9,2=B9,10=1B_{1,8}=B_{5,6}=B_{6,6}=B_{6,9}=B_{9,2}=B_{9,10}=1,其余位置为 00

数据范围与提示

由于输入量较大,请使用快读。附加文件中附有快读模板。

对于所有数据,$1\le m,n\le 4\times 10^6, 1\le a_i,b_i\le 2\times 10^8, 1\le u_i,v_i\le n, 1\le c_i\le 100$。

对于前 20%20\% 的数据,n=m=20,ci=1n=m=20,c_i=1
对于另外 20%20\% 的数据,n=m=105,ui=vi=in=m=10^5,u_i=v_i=i
对于另外 30%30\% 的数据,n=m=105n=m=10^5
对于另外 10%10\% 的数据,n=m=106n=m=10^6
对于另外 10%10\% 的数据,n=m=2×106n=m=2\times 10^6