我试了试ST表也能AC
#include <bits/stdc++.h>
#define NOSYNC ios::sync_with_stdio(false)
using namespace std;
int logs[2000010];
int f[2000010][26];
int main()
{
NOSYNC;
int n, k;
cin >> n >> k;
logs[0] = -1;
for (int i = 1; i <= n; i++)
{
cin >> f[i][0];
logs[i] = logs[i / 2] + 1;
}
for (int j = 1; j <= 25; j++)
{
for (int i = 1; i + (1 << j) - 1 <= n; i++)
{
f[i][j] = max(f[i][j - 1], f[i + (1 << j - 1)][j - 1]);
}
}
int l, r;
for (l = 1, r = k;r <= n; l++,r++)
{
int ss = logs[r - l + 1];
cout << max(f[l][ss], f[r - (1 << ss) + 1][ss]) << endl;
}
return 0;
}