用的就是滑动窗口喵...滑跪 蒟蒻求大佬指点
#include<bits/stdc++.h>
#include<deque>
using namespace std;
int a[1000010];
int main() {
int n,k;
deque<int> q;
cin>>n>>k;
for (int i=1; i<=n; i++) {
cin>>a[i];
}
for (int i=1; i<=n; i++) {
while(!q.empty()&&q.back()>=a[i]) {
q.pop_back();
}
q.push_back(a[i]);
if(!q.empty()&&q.front()==a[i-k]) {
q.pop_front();
}
if(!q.empty()&&(i>=k||i==n)) {
cout<<q.front()<<' ';
}
}
cout<<endl;
q.clear();
for (int i=1; i<=n; i++) {
while(!q.empty()&&q.back()<=a[i]) {
q.pop_back();
}
q.push_back(a[i]);
if(!q.empty()&&q.front()==a[i-k]) {
q.pop_front();
}
if(!q.empty()&&(i>=k||i==n)) {
cout<<q.front()<<' ';
}
}
return 0;
}