查看原帖
1101201
Wang_xin_chen楼主2025/7/25 15:23
#include<bits/stdc++.h>
using namespace std;
int n,m,k,a[10000001],a1[10000010];
deque<int>q1;
int main(){
    cout<<0<<endl;
    cin>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=2;i<=n;i++){
        while(!q1.empty() && a[q1.back()]>a[i-1]) q1.pop_back();
        q1.push_back(i);
        if(i>=k){
            if(i<k) m=i-1;
            else m=i-k;
            while(q1.front()<m) q1.pop_front();
            a1[i]=a[q1.front()];
        }
    }
    for(int i=k;i<=n;i++) cout<<a1[i]<<endl;
    return 0;
}
2025/7/25 15:23
加载中...