本人不知哪里错了 求调
#include<bits/stdc++.h>
using namespace std;
const int dupi=1000010;
int a[dupi],q[dupi],ans1[dupi],ans2[dupi];
int main()
{
int n,k,f,r;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
f=r=0;
for(int i=1;i<=n;i++)
{
while(f<r&&a[q[r]]>=a[i])
{
r--;
}
r++;
q[r]=i;
while(f<r&&i-q[f+1]+1>k)
{
f++;
}
ans1[i]=a[q[f+1]];
}
r=0;
for(int i=k;i<=n-1;i++)
{
cout<<ans1[i]<<" ";
}
cout<<ans1[n]<<endl;
r=f=0;
for(int i=1;i<=n;i++)
{
while(f>r&&a[q[r]]<=a[i])
{
r--;
}
r++;
q[r]=i;
while(f>r&&i-q[f+1]+1>k)
{
f++;
}
ans2[i]=a[q[f+1]];
}
for(int i=k;i<=n-1;i++)
{
cout<<ans2[i]<<" ";
}
return 0;
}