10分,样例没过

P1440 求m区间内的最小值

0LCH0 @ 2024-01-23 09:59:44

#include <bits/stdc++.h>
using namespace std;
int l,r,n,k,ans;
long long a[3000006];
struct hhh
{
    int pos,x;
    hhh() { };
    hhh(int i,int j) {pos=i; x=j;}
}q[2000010];
int main()
{
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n;i++){
        if(r>=l) ans=q[l].x;
        cout<<ans<<endl;
        while(r>=l && i-q[l].pos>=k) l++;
        while(r>=l && a[i]<q[r].x) r--;
        q[++r]=hhh(i,a[i]);
    }
    return 0;
}

|