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 position | Minimum value | Maximum 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.
输入
第1行n,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;