1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 平方分割メニュー(言語選択)
  4. 問題一覧 Bash(Beta)編
  5. D 個ごとの最大値 Bash(Beta)編

平方分割メニューのサムネイル
D 個ごとの最大値 Bash(Beta)編(paizaランク C 相当)

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

問題

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

整数 N, D と、 長さ N の配列 A = [A_1, A_2, ..., A_N] が与えられます。

A の要素を先頭から順に D 個ごとの区間に分けたときの、各区間内で最も大きい要素の値を出力してください。

例えば N = 9, D = 3 のとき、A_1, A_2, A_3 のうち最も大きい要素の値を 1 行目に、A_4, A_5, A_6 のうち最も大きい要素の値を 2 行目に、A_7, A_8, A_9 のうち最も大きい要素の値を 3 行目に出力してください。

ただし、D は N の 約数であることが保証されます。

入力される値

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



N D
A_1
A_2
.
.
.
A_N

* 1 行目では、配列 A の要素数 N と D がこの順に空白区切りで与えられます。
* 続く N 行では、配列 A の要素が先頭から順に与えられます。


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

i 行目には、A_(D * (i - 1) + 1) から A_(D * i) のうち最大の要素の値を出力してください。
出力の最後は改行し、余計な文字、空行を含んではいけません。

条件

* 2 ≦ D ≦ N ≦ 10000
* -100000 ≦ A_i ≦ 100000
* D は N の 約数
* 入力は合計で N + 1 行からなり、入力値最終行の末尾に改行が 1 つ入ります。

入力例1

9 3
989
98693
10250
-89388
-32127
34027
27383
6151
-20489

出力例1

98693
34027
27383

入力例2

36 6
24937
-6140
52930
-42737
32300
-63491
-26118
-63367
98129
-75141
62101
-34332
39608
84856
57785
-61475
-18697
-74110
91321
-80669
79302
-13441
23769
46751
-73602
-7256
13815
-17111
60140
67883
-46398
44840
25045
16049
36669
-31714

出力例2

52930
98129
84856
91321
67883
44840

問題一覧へ戻る

ページの先頭へ戻る