1635: WINDOWS

内存限制:256 MB 时间限制:3.000 S
评测方式:文本比较 命题人:
提交:59 解决:32

题目描述

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

An array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window moves rightwards by one position. Following is an example:
The array is [1 3 -1 -3 5 3 6 7], and k is 3.

Window positionMinimum valueMaximum 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

 Your task is to determine the maximum and minimum values in the sliding window at each position.

输入

1n,k,2行为长度为n的数组

输出

2行,第1行每个位置的min value,2行每个位置的max value

样例输入 复制

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

样例输出 复制

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

提示

数据范围:

20% n<=500; 50%: n<=100000;

100%: n<=1000000;