紧急救援

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 1 总提交人数: 2

题目描述

由于病毒肆虐,C 国正在面临一场前所未有的危机!前线的研究人员们为了治疗受到感染的人员,研发出了一批新药。

药品共有 $2n$ 种,其中 A 药与 B 药各 $n$ 种。每种药的特性可以用一个非负整数表示,我们用 $a_1, a_2, \ldots, a_n$ 分别表示 A 药的特性,用 $b_1, b_2, \ldots, b_n$ 分别表示 B 药的特性。为了达到最佳治疗效果,医生往往会将一种 A 药与一种 B 药混合使用。

研究表明,对于感染程度为 $x$ 的患者,若选择第 $i$ 种 A 药和第 $j$ 种 B 药混合,且满足 $a_i + b_j \geq x$ 时,患者可以被很好地治愈。

现在,有 $m$ 名患者等待治疗。对于每名患者,医生们很想知道能有多少种选择药品的方案,使得患者可以被治愈。两种药品的选择方案被认为是不同的,当且仅当其中的一种药在一个方案中出现,而在另一个方案中没有出现。

医生们可都是很忙的,因此这个重要的计算任务就交给了你。

输入格式

第一行两个整数 $n,\ m$($1 \leq n, m \leq 2000$)。

第二行有 $n$ 个用空格分隔的整数,分别表示 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^9$)。

第三行有 $n$ 个用空格分隔的整数,分别表示 $b_1, b_2, \ldots, b_n$($1 \leq b_i \leq 10^9$)。

接下来的 $m$ 行,每行一个整数 $x_i$($1 \leq x_i \leq 10^9$),表示第 $i$ 名患者的感染程度。

输出格式

输出 $n$ 行,每行一个整数,表示治愈第 $i$ 个患者的药品选择方案数。

样例输入

3 5
1 4 1
1 5 4
2
4
6
8
10

样例输出

9
7
4
2
0

样例解释

对于样例,所有 $a_i + b_j$ 的值从小到大依次为 $2, 2, 5, 5, 5, 6, 6, 8, 9$,其中所有混合方案都满足 $a_i + b_j \geq 2$,共 $9$ 种。

除了 $(a_1, b_1), (a_3, b_1)$ 之外的混合方案都满足 $a_i + b_j \geq 4$,共 $7$ 种。

仅有 $(a_1, b_2), (a_2, b_2), (a_2, b_3), (a_3, b_2)$ 的混合方案满足 $a_i + b_j \geq 6$,共 $4$ 种。

仅有 $(a_2, b_2), (a_2, b_3)$ 的混合方案满足 $a_i + b_j \geq 8$,共 $2$ 种。

无论如何混合,不存在 $a_i + b_j \geq 10$ 的方案,共 $0$ 种。

提示

可能会用到的知识点:冒泡排序。

对于 OJ 上的评测机,你可以认为 $1$ 秒内最多进行的基本操作次数是 $10^8$ 级别的。若你本题的代码使用了两层以上的循环,则有可能会获得超时哦。

AUTHOR: 廖纪童

相关推荐