問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
あなたはみかん農園を営んでいます。
収穫の季節になると、あなたはみかんを収穫し、重さごとに仕分けなければいけません。
仕分け作業は非常に時間がかかる作業なので、あなたはみかんを重さごとに仕分けてくれるプログラムを書くことにしました。
みかんはある定数 N の倍数のうち、正の整数の重さが書かれた箱に仕分けられます。
例えば N = 10 の時、10 g, 20 g, 30 g ... のように仕分けられます。
そして、そのみかんの重さが一番近い数の重さに仕分けられます。
重さが一番近い箱が複数ある場合、数が大きい方の箱に仕分けられます。
入力例 1 は以下のようになります。
24 g のみかんはより値の近い 20 g と書かれた箱に仕分けられます。
35 g のみかんは 30 g, 40 g の箱と差が同じです。この場合は数の大きい方の 40 g の箱へ仕分けてください。
0g に仕分けられることはないので、一番小さい重さに仕分けてください。
入力は以下のフォーマットで与えられます。
N M
w_1
w_2
...
w_M
・ 1 行目にそれぞれ仕分ける重さの区切りを表す整数、みかんの個数を表す整数 N, M がこの順で半角スペース区切りで与えられます。
・ 続く M 行のうちの i 行目 (1 ≦ i ≦ M) には、i 番目のみかんの重さを表す整数 w_i が与えられます。
・ 入力は合計で M + 1 行となり、入力値最終行の末尾に改行が 1 つ入ります。
仕分けるべき重さを以下の形式で出力してください。
y_1
y_2
...
y_M
・ 期待する出力は M 行からなります。
・ i 行目 (1 ≦ i ≦ M) にはそれぞれ i 番目のみかんの仕分け先の重さを表す y_i を出力して下さい。
・ すべて整数で出力してください。
・ 出力最終行の末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ 1 ≦ N ≦ 100
・ 1 ≦ M ≦ 10
・ 1 ≦ w_i ≦ 1,000 (1 ≦ i ≦ M)
10 3
24
35
3
20
40
10
50 3
40
90
10
50
100
50
3 2
9
5
9
6