#P1057. 【模板】单调队列(滑动窗口)

    ID: 69 传统题 1000ms 256MiB 尝试: 0 已通过: 0难度: 普及 ← 上一题 下一题 → 随机一题 上传者: 标签 模板题 单调队列 队列 数据结构
显示设置

【模板】单调队列(滑动窗口)

题目描述

有一个长度为 nn 的整数序列 a1,a2,…,ana_1,a_2,\dots,a_n,以及一个长度为 kk 的窗口。

窗口从序列的最左端开始,每次向右滑动一格,直到窗口的右端到达 nn。显然一共有 n−k+1n-k+1 个窗口位置。

请你求出每个窗口中的最小值和最大值。

输入格式

第一行两个整数 n,kn,k。

第二行 nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n。

输出格式

输出两行,每行 n−k+1n-k+1 个整数,相邻两个数之间用一个空格隔开。

第一行是每个窗口的最小值。

第二行是每个窗口的最大值。

输入输出样例 #1

输入 #1

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

输出 #1

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

说明

数据范围

  • 对于 100%100\% 的数据,1≤k≤n≤5×1051\le k\le n\le 5\times 10^5,∣ai∣≤109|a_i|\le 10^9。