AT_aising2019_d Nearest Card Game
Description
[problemUrl]: https://atcoder.jp/contests/aising2019/tasks/aising2019_d
$ N $ 枚のカードがあり、このうち $ i $ 枚目のカードには整数 $ A_i $ が書かれています。 どの $ 2 $ 枚のカードに書かれた整数も相異なります。
高橋くんと青木くんはこれらのカードを用いて以下のようなゲームをすることにしました。
- 青木くんは整数 $ x $ を一つ決める。
- 高橋くんからはじめて、交互にカードを一枚ずつ取っていく。その際、取るカードは以下のように選ぶ。
- 高橋くんは残っているカードのうち書かれている整数が最も大きいカードを取る。
- 青木くんは残っているカードのうち書かれている整数が $ x $ に最も近いカードを取る。ただしそのようなカードが複数ある場合は、それらのうち書かれている整数が最も小さいカードを取る。
- 残っているカードがなくなったときゲームは終了する。
$ Q $ 個の $ x $ の値の候補 $ X_1,\ X_2,\ ...,\ X_Q $ が与えられます。 各 $ i $ ($ 1\ \leq\ i\ \leq\ Q $) に対して、青木くんが $ x\ =\ X_i $ としたときに高橋くんが取ることになるカードに書かれた整数の和を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ Q $ $ A_1 $ $ A_2 $ $ ... $ $ A_N $ $ X_1 $ $ X_2 $ $ : $ $ X_Q $
Output Format
$ Q $ 行出力せよ。このうち $ i $ 行目 ($ 1\ \leq\ i\ \leq\ Q $) には $ x\ =\ X_i $ のときの答えを出力せよ。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 100,000 $
- $ 1\ \leq\ Q\ \leq\ 100,000 $
- $ 1\ \leq\ A_1\