9pts 求条
查看原帖
9pts 求条
1145420
longyitongxue楼主2025/7/29 16:51

记录

#include<bits/stdc++.h>
using namespace std;
int read(){
    int ans=0,zf=1;
    char c=getchar_unlocked();
    while(c<'0'||c>'9'){
        if(c=='-')zf=-1;
        c=getchar_unlocked();
    }
    while(c>='0'&&c<='9'){
        ans=ans*10+c-'0';
        c=getchar_unlocked();
    }
    return ans*zf;
}
void write(int num){
    if(num<0){
        putchar_unlocked('-');
        num=-num;
    }
    if(num<10){
        putchar_unlocked(num+'0');
        return;
    }
    write(num/10);
    putchar_unlocked(num%10+'0');
}
int a[2000005];
int main(){
    int n,m;
    n=read();m=read();
    for(int i=1;i<=n;i++){
        a[i]=read();
    }
    putchar_unlocked('0');
    putchar_unlocked('\n');
    deque<int>q;
    for(int i=2;i<=n;i++){
        while(q.size()&&q.front()<i-m)q.pop_front();
        while(q.size()&&a[q.back()]<a[i-1])q.pop_back();
        q.push_back(i-1);
        write(a[q.front()]);
        putchar_unlocked('\n');
    }
    return 0;
}
2025/7/29 16:51
加载中...