<800ms
(不要问我事怎样发现的(心虚
const int N = 1e6 + 5;
int n, m, a[N], id[N];
int f[N];
void solve() {
cin >> n >> m;
FOR(i, 1, n) cin >> a[i];
FOR(i, 1, n) id[i] = i;
sort(id + 1, id + n + 1, [] (int x, int y) {
return a[x] < a[y];
});
ROF(i, n, 1) {
int u = id[i];
int l = max(1, u - m);
FOR(j, l, u) f[j] = 1;
int c = 0;
FOR(j, 1, n) {
if(!f[j]) break;
c++;
}
if(c > n - 1 - m) {
cout << a[u] << endl;
return;
}
}
}