#求助!为什么有两个RE和三个WA
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<stack>
#include<queue>
#include<cmath>
#include<algorithm>
using namespace std;
deque<long long>q;
long long a[100009],n,k;
int main()
{
cin>>n;
scanf("%lld",&k);
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
}
for(int i=1;i<=n;i++)
{
while(!q.empty()&&q.front()<i-k+1)
q.pop_front();
while(!q.empty()&&a[q.back()]>=a[i])
{
q.pop_back();
}
q.push_back(i);
if(i>k-1) printf("%lld ",a[q.front()]);
}
printf("\n");
q.clear();
for(int i=1;i<=n;i++)
{
while(!q.empty()&&q.front()<i-k+1)
q.pop_front();
while(!q.empty()&&a[q.back()]<=a[i])
{
q.pop_back();
}
q.push_back(i);
if(i>k-1) printf("%lld ",a[q.front()]);
}
return 0;
}
谢谢各位大佬!!