1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Cランク・スキルチェック過去問題セット(言語選択)
  4. 問題一覧 Elixir(Beta)編
  5. 「みかんの仕分け」を解くために:part3 Elixir(Beta)編

Cランク・スキルチェック過去問題セットのサムネイル
「みかんの仕分け」を解くために:part3 Elixir(Beta)編(paizaランク D 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

みかんは、そのみかんの重さが一番近い数の重さが書かれた箱に入れる必要があります。
2 つの箱が与えられるのでどちらの箱に入れるのがよいか判定してみましょう。


みかんを仕分ける箱が 2 つ与えられます。
それぞれの箱には整数 k_1, k_2 が書かれており、今回の問題では箱に書かれた数字が N の倍数であることが保証されます。
それぞれのみかんは、みかんの重さに一番近い数の重さが書かれた箱に仕分けられます。
重さが一番近い箱が複数ある場合、数が大きい方の箱に仕分けられます。
それぞれのみかんが与えられた箱の内、どちらの箱に仕分けられるかを出力して下さい。

入力される値

入力は以下のフォーマットで与えられます。

N M
k_1 k_2
w_1
w_2
...
w_M

・ 1 行目に仕分ける重さの区切りを表す整数、みかんの個数を表す整数 N, M がこの順で半角スペース区切りで与えられます。
・ 2 行目にみかんを仕分ける箱に書かれた整数 k_1,k_2 が空白区切りで与えられます。
・ 続く M 行のうちの i 行目 (1 ≦ i ≦ M) には、i 番目のみかんの重さを表す整数 w_i が与えられます。
・ 入力は合計で M + 2 行となり、入力値最終行の末尾に改行が 1 つ入ります。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

以下の形式で出力してください。

y_1
y_2
...
y_M

・ 期待する出力は M 行からなります。
・ i 行目 (1 ≦ i ≦ M) にはそれぞれ i 番目のみかんの仕分け先の箱に書かれた数字を表す整数 y_i を出力して下さい。
・ 出力最終行の末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・ 1 ≦ M ≦ 10
・ 1 ≦ k_1 < k_2 ≦ 2,000
・ k_1, k_2 はともに N の倍数
・ 1 ≦ w_i ≦ 1,000 (1 ≦ i ≦ M)

入力例1

10 3
20 30
24
35
3

出力例1

20
30
20

入力例2

5 3
15 25
34
1
20

出力例2

25
15
25

問題一覧へ戻る

ページの先頭へ戻る