#P2154. 卡牌游戏

卡牌游戏

题目描述

小晓在玩一款卡牌游戏,游戏规则如下:

  1. 先从牌堆里抽取 nn 张卡牌,并从左往右排成一排,编号为 1n1 \sim n,对于每张卡牌,其上均有一个数字,我们将第 ii 张卡牌上的数字标记为 aia_i
  2. 参与游戏的 kk 个人,每个人再从牌堆里抽取一张卡牌。假设第 ii 个人抽取的卡牌上面的数字为 bib_i
  3. 对于第 ii 个参与游戏的人,他的目标是快速算出 (1) 中抽取的卡牌中有多少数对满足:aralbi(l<r)| a_r-a_l | \le b_i (l \lt r)

给个例子:

2 个人参加游戏,第(1)步抽取了 5 张牌:-100、0、100、101、102,参加游戏的人抽取的卡牌数字分别是 5 和 1 ,则对应满足条件的数对数量分别为 3((3,4)、(3,5)、(4,5))和 2((3,4)、(4,5))。

输入格式

第一行,两个正整数 nnkk ,分别为一开始抽取的卡牌数和参与游戏的人数。

第二行 nn个整数,为 aia_i 的值。

第三行 kk 个整数,为 bib_i 的值。

数据范围

对于 30% 的数据,1<n1021 \lt n \le 10^2k5k \le 5

对于 60% 的数据,1<n1041 \lt n \le 10^4k6k \le 6

对于 100% 的数据,1<n1051 \lt n \le 10^5k100k \le 100109ai109-10^9 \le a_i \le 10^90bi1090 \le b_i \le 10^9

输出格式

kk 行,对于第 ii 行,输出满足aralbi(l<r)| a_r-a_l | \le b_i (l \lt r) 的数对的数量。

样例

5 2
-100 0 100 101 102
5 1
3
2