「一本通 5.5 例 1」滑动窗口

「一本通 5.5 例 1」滑动窗口

题目描述

原题来自:POJ 2823

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

窗口位置 最小值 最大值
\(\texttt{[1 3 -1] -3 5 3 6 7}\) \(-1\) \(3\)
\( \ \texttt{ 1 [3 -1 -3] 5 3 6 7}\) \(-3\) \(3\)
\( \ \texttt{ 1 3 [-1 -3 5] 3 6 7}\) \(-3\) \(5\)
\( \ \texttt{ 1 3 -1 [-3 5 3] 6 7}\) \(-3\) \(5\)
\( \ \texttt{ 1 3 -1 -3 [5 3 6] 7}\) \(3\) \(6\)
\( \ \texttt{ 1 3 -1 -3 5 [3 6 7]}\) \(3\) \(7\)

你的任务是找出窗体在各个位置时的最大值和最小值。

输入格式

第 1 行:两个整数 \(N\) 和 \(K\);

第 2 行:\(N\) 个整数,表示数组的 \(N\) 个元素(\(≤2\times 10^9\));

输出格式

第一行为滑动窗口从左向右移动到每个位置时的最小值,每个数之间用一个空格分开;

第二行为滑动窗口从左向右移动到每个位置时的最大值,每个数之间用一个空格分开。

样例数据

样例输入

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

样例输出

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

限制与提示

对于 \(20\%\) 的数据,\(K≤N≤1000\);

对于 \(50\%\) 的数据,\(K≤N≤10^5\);

对于 \(100\%\) 的数据,\(K≤N≤10^6\)。

信息

难度
9
分类
(无)
标签
(无)
递交数
2
已通过
1
通过率
50%
上传者

相关

在下列训练计划中:

信息学奥赛一本通提高篇-题库