求助
查看原帖
求助
693278
YuanHaoYu6315楼主2023/7/13 15:56
#include<bits/stdc++.h>
using namespace std;
int a[100010],q[100010];
int main(){
    int n,k;
    cin >> n >>k;   
    for(int i = 1;i<= n;i++){
        cin >> a[i];
    }
    int head,tail= 0;
    for(int i = 1;i<=n;i++){
    	while(head < tail && q[head]+k<=i)
    		head++;
        while(head < tail && a[q[tail-1]] < a[i])
            tail--;
        q[tail] = i;
        tail++;
        if(i >= k){
            cout << a[q[head]]<<endl;
        }
    }
}
2023/7/13 15:56
加载中...