#include<bits/stdc++.h>
using namespace std;
int minx[100001][25];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>minx[i][0];
for(int j=1;j<=20;j++)
for(int i=1;i<=n;i++){
minx[i][j]=min(minx[i][j-1],minx[i+(1<<j)-1][j-1]);
}
for(int i=1;i<n;i++){
int k=(int)log(m+2.0)/log(2.0);
cout<<min(minx[max(i-m+1,1)][k],minx[max(1,i-(1<<k)+1)][k])<<endl;
}
return 0;
}
请巨佬们指教!!!