bzoj#P2122. 工作评估

工作评估

题目描述

利用空闲时间,BX 希望外出工作,工作开始之前,公司就会给 BX 一个评估值 X0X_0,之后每天 BX 的评估值都是根据上一天的评估值和当天公司的运行状况得出,即 Xi=Xi1+DiX_i = X_{i-1} + D_i,但是每天的评估值有一个上限,也就是说完整的评估公式因该是 Xi=min{Xi1+Di,Li}X_i = min \{X_{i - 1} + D_i,L_i\}。现在 BX 已经知道了该公司对自己的初始评估值 X0X_0、公司每天的运行状况 DiD_i、每天的评估上限 LiL_i,他的空闲时间是从第 AA 天到第 BB 天,他希望找到一段时间 [i,j],(AijB)[i,j],(A\le i\le j\le B),使得从第 ii 天开始工作,到第 jj 天结束后的评估值最大。当然如果任意一段时间的工作得到评估值都小于初始评估值 X0X_0,BX 可以选择不工作,从而得到最大的评估值。

输入格式

输入的第一行包含两个整数 N,MN,M,分别表示总共工作天数和询问数。
第二行 NN 个数,表示 DiD_i
第三行 NN 个数,表示 LiL_i
以下 MM 行,每行 33 个数 A,B,X0A,B,X_0,表示一次询问。

输出格式

MM 行,每行输出一个整数,表示评估的最大值

样例输入

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

样例输出

10
8
3

数据规模与约定

对于 100%100\% 数据,满足 $N,M\le 5 \times 10^4,\mid D_i \mid \le 10^4,0\le L_i\le 10^9$。