Type: Default 1000ms 256MiB

滑动窗口

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

给你一个长度为 NN 的数组,一个长为 KK 的滑动的窗体从最左移至最右端,你只能见到窗口的 KK 个数,每次窗体向右移动一位,如下表:

Window position           Min value            Max value 
[ 1 3 -1 ] -3 5 3 6 7            -1                    3
1 [ 3 -1 -3 ] 5 3 6 7            -3                    3
1 3 [ -1 -3 5 ] 3 6 7            -3                    5
1 3 -1 [ -3 5 3 ] 6 7            -3                    5
1 3 -1 -3 [ 5 3 6 ] 7             3                    6
1 3 -1 -3 5 [ 3 6 7 ]             3                    7

你的任务是找出窗口在各位置时的窗口内的最大元素和最小元素。

输入格式

11n,kn,k ,第 22 行为长度为 nn 的数组

输出格式

2 行,第 1 行每个位置时窗口内的最小元素,第 2 行每个位置时窗口内的最大元素。

样例

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

数据范围

  • 对于 20%20\% 的数据,1n5001 \le n \le 500
  • 对于 50%50\% 的数据,1n1051 \le n \le 10^5
  • 对于 100%100\% 的数据,1kn1061\le k \le n \le 10^6ai[231,231)a_i \in [-2^{31},2^{31})