みんなで行こう

2 secs 1024 MB
momoyuu's icon momoyuu

問題文

競技プログラミング部 Antsのメンバーはrafi2ランドに行こうとしています。 rafi2ランドには 11 から NN と番号付けられた NN 個のアトラクションが存在し、 アトラクション ii に乗るには wiw_i 分だけ待たなければいけません。

計画を立てようと思ったharry君は、 QQ 個の制限時間、 a1a_1 分, a2a_2 分, \ldots , aQa_Q 分それぞれについて、 その時間内に最大で何種類のアトラクションに乗れるか知りたくなりました。制限時間ちょうどにアトラクションに乗れる場合も制限時間内であるとします。

harry君の代わりにこれらを計算するプログラムを作成してください。ただし、アトラクションに乗っている時間やアトラクション間の移動の時間は 00 分であるとします。

制約

  • 1N1051 \leq N \leq 10^5
  • 1wi109 (1iN)1 \leq w_i \leq 10^9 \ (1 \leq i \leq N)
  • 1Q1051 \leq Q \leq 10^5
  • 0ai109 (1iQ)0 \leq a_i \leq 10^9 \ (1 \leq i \leq Q)
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN
w1w_1w2w_2\ldotswNw_N
QQ
a1a_1
a2a_2
\vdots
aQa_Q

出力

QQ 行出力せよ。 ii 行目には制限時間 aia_i 分で乗ることができるアトラクションの種類数の最大値を出力せよ。

サンプル

入力例1
5
1 3 2 5 10
4
5
10
2
6
出力例1
2
3
1
3

11 つ目の制限時間に対しては、例えばアトラクション 2233 に乗ることで、制限時間内に 22 種類のアトラクションに乗ることができます。また、どのような乗り方をしても 33 種類以上のアトラクションに乗ることはできないので答えは 22 となります。

入力例2
10
1 18 33 8 13 4 34 23 27 20
7
15
25
11
84
61
1000000000
0
出力例2
3
3
2
6
5
10
0

Submit


Go (1.21)