output_description: Print Q lines. The i-th line (1 \leq i \leq Q) should contain the answer for x
  = X_i.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N Q
      A_1 A_2 ... A_N
      X_1
      X_2
      :
      X_Q
attempt: def d_nearest_card_game(N, Q, A, X):
      # 最初は、高橋くんは数字の大きなカードを、青木くんはxに近いものから取っていく。
      # するといつか高橋くんが取りたいカードが青木くんに取られているような状況になるので、
      # そこからは2人で値の大きなものから順に取っていく。
      # そのため、2人で順に取っていく領域の広さ(N/2通り)がわかればいい。
      # N/2通りなのは、順に取っていくフェイズの前に2人がそれぞれ固まった領域の
      # カードを取るフェイズがN/2回あるため。
      # (Nが偶数のとき。奇数のときは両者が両端から取っていって
      # 最後に高橋くんが真ん中のカードを取ることがありうる)
  
      # これらの場合について、境界となるxの値を先に求めておけば、各クエリに対して
      # どの場合に当たるのかを高速に判定できる。
  
      # 境界となるxは青木くんがまとめて取ることになる領域の左右端の中央にある。
      # 数列のインデックスを右から0-basedで付けていくと、
      # 高橋くんがまとめて取っている領域は 0, 1, ..., i
      # 青木くんがまとめて取っている領域は i+1, i+2, ..., 2i+1
      # 境界となるxは (A[i+1]+A[2i+2])//2 + 1
  
      # iの値が分かったときに高橋くんの得点を求めるには、
      # Aの累積和とAの右から偶数番目だけ取る累積和を求めておけばいい。
      import bisect
  
      a = A[::-1]  # 「右から」はわかりづらいので逆にする
      # 累積和と偶数番目だけ足す累積和
      cumsum, evensum = [0] * (N + 1), [0] * (N + 1)
      for k, a_k in enumerate(a):
          cumsum[k + 1] = cumsum[k] + a_k
          evensum[k + 1] = evensum[k] + (a_k if k % 2 == 0 else 0)
  
      # 得点が変化するxの境界とそのときの得点
      threshold, threshold_score = [], []
      for k in range((N - 1) // 2):
          threshold.append((a[k + 1] + a[2 * k + 2]) // 2 + 1)
          threshold_score.append(
              (cumsum[k + 1] - cumsum[0]) + (evensum[N] - evensum[2 * k + 2])
          )
  
      # Aを逆にしたので、もう一度逆にする
      threshold = threshold[::-1]
      threshold_score = threshold_score[::-1]
  
      ans = []
      for x in X:
          idx = bisect.bisect_right(threshold, x)
          if idx == 0:
              ans.append(cumsum[(N + 1) // 2] - cumsum[0])
          else:
              ans.append(threshold_score[idx - 1])
      ans = "\n".join(map(str, ans))
      return ans
  
  
  N, Q = [int(i) for i in input().split()]
  A = [int(i) for i in input().split()]
  X = [int(input()) for _ in range(Q)]
  print(d_nearest_card_game(N, Q, A, X))
  
problem_description: Statement
  
  There are N cards. The i-th card has an integer A_i written on it. For any two
  cards, the integers on those cards are different.
  
  Using these cards, Takahashi and Aoki will play the following game:
  
    * Aoki chooses an integer x.
    * Starting from Takahashi, the two players alternately take a card. The card should be chosen in the following manner:
      * Takahashi should take the card with the largest integer among the remaining card.
      * Aoki should take the card with the integer closest to x among the remaining card. If there are multiple such cards, he should take the card with the smallest integer among those cards.
    * The game ends when there is no card remaining.
  
  You are given Q candidates for the value of x: X_1, X_2, ..., X_Q. For each i
  (1 \leq i \leq Q), find the sum of the integers written on the cards that
  Takahashi will take if Aoki chooses x = X_i.
samples: [{"input": "5 5\n    3 5 7 11 13\n    1\n    4\n    9\n    10\n    13", "output": "31\n    31\n    27\n    23\n    23\n    \n\nFor example, when x = X_3(= 9), the game proceeds as follows:\n\n  * Takahashi takes the card with 13.\n  * Aoki takes the card with 7.\n  * Takahashi takes the card with 11.\n  * Aoki takes the card with 5.\n  * Takahashi takes the card with 3.\n\nThus, 13 + 11 + 3 = 27 should be printed on the third line.\n\n* * *"}, {"input": "4 3\n    10 20 30 40\n    2\n    34\n    34", "output": "70\n    60\n    60"}]