一级a做爰全过程片视频网站,wordpress主题配置文件,广州微商城公司,上海地区网站设计题目描述
给出一个长度为 N#xfffd; 的数组#xff0c;一个长为 K#xfffd; 的滑动窗口从最左移动到最右#xff0c;每次窗口移动#xff0c;如下图#xff1a; 找出窗口在各个位置时的极大值和极小值。 输入
第一行两个数 N,K#xfffd;,#xfffd;。 …
题目描述
给出一个长度为 N 的数组一个长为 K 的滑动窗口从最左移动到最右每次窗口移动如下图 找出窗口在各个位置时的极大值和极小值。 输入
第一行两个数 N,K,。
第二行有 N 个数表示数组中的元素。
输出
输出两行第一行为窗口在各个位置时的极小值第二行为窗口在各个位置时的极大值。 样例输入
8 3
1 3 -1 -3 5 3 6 7
样例输出
-1 -3 -3 -3 3 3
3 3 5 5 6 7
#include iostream
#include vector
#include set
#include stack
#include algorithm
using namespace std;int main() {int n, k;cin n k;vectorint arr;for (int i 0, a; i n; i) {cin a;arr.push_back(a);}dequeint q;for (int i 0; i n; i) {while (!q.empty() arr[q.back()] arr[i]) q.pop_back();q.push_back(i);if (i - q.front() k) q.pop_front();if (i 1 k) continue;if (i k) cout ;cout arr[q.front()];}cout endl;while (!q.empty()) q.pop_back();for (int i 0; i n; i) {while (!q.empty() arr[q.back()] arr[i]) q.pop_back();q.push_back(i);if (i - q.front() k) q.pop_front();if (i 1 k) continue;if (i k) cout ;cout arr[q.front()];}return 0;
}