#P3162. 滑动窗口

滑动窗口

Description

有一个长为 n 的序列 a,以及一个大小为 k 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。
例如:
当数组为
1 3 -1 -3 5 3 6 7
且k=3时:

Input Format

输入一共有两行,第一行有两个正整数 n,k。 第二行 n 个整数,表示序列 a

Output Format

第一行为滑动窗口从左向右移动到每个位置时的最小值,每个数之间用一个空格分开; 第二行为滑动窗口从左向右移动到每个位置时的最大值,每个数之间用一个空格分开。
8 3
1 3 -1 -3 5 3 6 7
-1 -3 -3 -3 3 3
3 3 5 5 6 7

Hint

对于 50% 的数据,1n10^5
对于 1100% 的数据,1kn10^6ai[2^31,2^31)

Source

数据结构 单调队列 模拟