#aising2019d. [aising2019_d]Nearest Card Game

[aising2019_d]Nearest Card Game

問題文

NN 枚のカードがあり、このうち ii 枚目のカードには整数 AiA_i が書かれています。 どの 22 枚のカードに書かれた整数も相異なります。

高橋くんと青木くんはこれらのカードを用いて以下のようなゲームをすることにしました。

  • 青木くんは整数 xx を一つ決める。
  • 高橋くんからはじめて、交互にカードを一枚ずつ取っていく。その際、取るカードは以下のように選ぶ。
    • 高橋くんは残っているカードのうち書かれている整数が最も大きいカードを取る。
    • 青木くんは残っているカードのうち書かれている整数が xx に最も近いカードを取る。ただしそのようなカードが複数ある場合は、それらのうち書かれている整数が最も小さいカードを取る。
  • 残っているカードがなくなったときゲームは終了する。

QQ 個の xx の値の候補 X1,X2,...,XQX_1, X_2, ..., X_Q が与えられます。 各 ii (1leqileqQ1 \\leq i \\leq Q) に対して、青木くんが x=Xix = X_i としたときに高橋くんが取ることになるカードに書かれた整数の和を求めてください。

制約

  • 2leqNleq100,0002 \\leq N \\leq 100,000
  • 1leqQleq100,0001 \\leq Q \\leq 100,000
  • 1leqA1<A2<...<ANleq1091 \\leq A_1 < A_2 < ... < A_N \\leq 10^9
  • 1leqXileq1091 \\leq X_i \\leq 10^9 (1leqileqQ1 \\leq i \\leq Q)
  • 入力値はすべて整数である。

入力

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

NN QQ A1A_1 A2A_2 ...... ANA_N X1X_1 X2X_2 :: XQX_Q

出力

QQ 行出力せよ。このうち ii 行目 (1leqileqQ1 \\leq i \\leq Q) には x=Xix = X_i のときの答えを出力せよ。


入力例 1

5 5
3 5 7 11 13
1
4
9
10
13

出力例 1

31
31
27
23
23

たとえば、x=X3(=9)x = X_3(= 9) のとき、ゲームは以下のように進行します。

  • 高橋くんが 1313 が書かれたカードを取る。
  • 青木くんが 77 が書かれたカードを取る。
  • 高橋くんが 1111 が書かれたカードを取る。
  • 青木くんが 55 が書かれたカードを取る。
  • 高橋くんが 33 が書かれたカードを取る。

よって、33 行目には 13+11+3=2713 + 11 + 3 = 27 を出力します。


入力例 2

4 3
10 20 30 40
2
34
34

出力例 2

70
60
60