4869 - 第二十四章 双指针和莫队:滑动的窗户

通过次数

25

提交次数

76

时间限制 : 3 秒
内存限制 : 256 MB

在一个包含n个元素的数组上,有一个长度为k的窗户在从左向右滑动。窗户每滑动到一个位置,我们都可以看到k个元素在窗户中。如下的例子所示,假设数组为 [1 3 -1 -3 5 3 6 7],而k等于3: 对于窗户滑动过的每个位置,请给出窗户内k个元素的最小值和最大值。

输入

输入的第一行包括两个整数n,k,n表示数组的长度,k表示窗户的长度。 接下来一行包括n个整数,表示这个n个元素的数组。

输出

输出包含两行,每行包括n-k+1个整数,第一行表示窗户从左到右滑动过程中的最小值,第二行表示窗户从左到右滑动过程中的最大值。

样例

输入

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

输出

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

提示

对于100%的数据,3<=n<=1000000,1<=k<=n,数组中的每个元素均在int范围内