#1237. 零件采购

零件采购

题目描述

工厂需要采购零件,共有 NN 种不同的零件,第 ii 种零件的单件重量为 EiE_i。每次运输车的载重上限为 XX,且运输时必须遵守以下规则:

  1. 每种零件最多只能运送一件(不能拆分)
  2. 单次运输的总重量不能超过 XX

现在需要处理 QQ 次查询,每次给出一辆运输车的载重上限 XX,请计算在不超过该载重的前提下,单次运输最多能装多少种不同的零件。

输入格式

第一行两个整数 NNQQ

第二行 NN 个整数 E1,E2,,ENE_1, E_2, \dots, E_N

接下来 QQ 行,每行一个整数 XX,表示一次询问的载重上限。

输出格式

QQ 行,每行一个整数,表示对应询问最多能运送的零件种类数。

样例

4 3
5 3 11 8
16
7
1000
3
1
4
6 6
1 2 3 4 5 6
1
2
3
4
5
6
1
1
2
2
2
3
2 2
1000000000 1000000000
200000000000000
1
2
0

样例1解释

零件重量分别为 3,5,8,113, 5, 8, 11(按重量排序后)。

X=16X=16 时,可以运送重量为 335588 的三种零件,总重 1616,恰好不超载,答案为 33

X=7X=7 时,只能运送重量为 33 的一种零件(3+5=8>73+5=8>7),答案为 11

X=1000X=1000 时,载重足够运送全部四种零件,答案为 44

数据范围

对于 30%30\% 的数据,1N,Q10001 \le N, Q \le 10001Ei10001 \le E_i \le 10001X1061 \le X \le 10^6
对于 100%100\% 的数据,1N,Q2×1051 \le N, Q \le 2 \times 10^51Ei1091 \le E_i \le 10^91X2×10141 \le X \le 2 \times 10^{14}