最小值咋不对```cpp
#include <bits/stdc++.h>
using namespace std;
int a[2000001];
int b[2000001];
int p[2000001];
int mi[2000001];
int main()
{
int n,k,l=1,r=0;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<k;i++)
{
while(l<=r&&b[r]>=a[i])
{
--r;
}
b[++r]=a[i];
p[r]=i;
}
for(int i=k;i<=n;i++)
{
while(l<=r&&b[r]>=a[i])
{
--r;
}
b[++r]=a[i];
p[r]=i;
while(p[r]<i-k+1)
{
++l;
}
cout<<b[l]<<" ";
}
cout<<endl;
l=1,r=0;
for(int i=1;i<k;i++)
{
while(l<=r&&b[r]<=a[i])
{
--r;
}
b[++r]=a[i];
p[r]=i;
}
for(int i=k;i<=n;i++)
{
while(l<=r&&b[r]<=a[i])
{
--r;
}
b[++r]=a[i];
p[r]=i;
while(p[r]<i-k+1)
{
++l;
}
cout<<b[l]<<" ";
}
}