2522 滑动窗口

Time Limit : 16000/8000 MS(Java/Others) | Memory Limit : 65536/32768 KB(Java/Others)

Submits : 36 | Solved : 1

Description

给定一个大小为nn 106)的数组。现在有一个大小为k的滑动窗口,从数组的最左边滑动到数组的最右边。在窗口中你只能看见k个数字,每次窗口会向右移动一个位子。以下是一个实例:

数组{1 3 -1 -3 5 3 6 7},且k = 3 .


你的任务就是确认滑动窗口在每个位置的最小值和最大值。

 


Input

多组数据,以文件控制结束

第一行输入两个整数nk,(k n)分别表示数组的长度和窗口大小。

第二行输入n个整数,ai0 i n)在int范围内。



Output

每组数据输出分两行。

第一行输出窗口在每个位置时的最小值。

第二行输出窗口在每个位置时的最大值。两个数之间用空格分开,最后一个数直接换行。


Sample Input

8 3
1 3 -1 -3 5 3 6 7

Sample Output

-1 -3 -3 -3 3 3
3 3 5 5 6 7

HINT

输入输出数据过大,用scanfprintf代替cincout


Source

POJ

[ Top ] | [ Submit ]