#bitflyer2018finalb. [bitflyer2018_final_b]交通費

[bitflyer2018_final_b]交通費

问题描述

您是一场现场比赛的组织者。 这个比赛有 NN 个参与者,它们被标记为 1,2,...,N1, 2, ..., N。 参与者ii住在坐标轴上的位置 XiX_i

您正在考虑给参赛者支付往返比赛场地的交通费用。对于参与者ii,支付金额如下:

  • Xicd|X_i - c| \leq d 时,支付 Xic|X_i - c|
  • 否则,支付 dd

为了确定场地位置 cc 和基准值 dd,您决定计算给参与者支付的交通费用的总和,对于这 QQ 种可能的候选值。

给定整数 C1,C2,...,CQC_1, C_2, ..., C_QD1,D2,...,DQD_1, D_2, ..., D_Q。 对于每个 i=1,2,...,Qi = 1, 2, ..., Q,求当 c=Cic = C_id=Did = D_i 时,给参与者支付的交通费用的总和。

约束条件

  • 1N1051 \leq N \leq 10^5
  • 0Xi1090 \leq X_i \leq 10^9 (1iN1 \leq i \leq N)
  • Xi<Xi+1X_i < X_{i + 1} (1i<N1 \leq i < N)
  • 1Q1051 \leq Q \leq 10^5
  • 0Ci,Di1090 \leq C_i, D_i \leq 10^9 (1iQ1 \leq i \leq Q)
  • 所有输入值均为整数。

输入

输入以以下格式从标准输入中给出。

NN QQ X1X_1 X2X_2 ...... XNX_N C1C_1 D1D_1 C2C_2 D2D_2 :: CQC_Q DQD_Q

输出

输出 QQ 行。其中第 ii 行 (1iQ1 \leq i \leq Q) 输出当 c=Cic = C_id=Did = D_i 时的答案。


示例 1

5 3
1 5 10 20 30
7 3
10 20
100 10

输出示例 1

14
44
50

例如,当 cc 的值为 C1=7C_1 = 7dd 的值为 D1=3D_1 = 3 时,将分别支付交通费用 33 元、22 元、33 元、33 元、33 元给每个参与者。因此,我们输出 1414


示例 2

6 3
0 1 2 999999998 999999999 1000000000
0 0
100 99
1000000000 1000000000

输出示例 2

0
593
3000000000

示例 3

7 5
590 593 633 642 743 859 872
642 850108511
743 153
633 20
642 0
842 60895346

输出示例 3

658
759
109
0
1056