5 条题解

  • -2
    @ 2022-1-19 11:06:10

    #include #include<stdio.h> #include #include #include

    using namespace std;

    const int N=1e7+100; int q[N],a[N];

    int main() { int n,k; cin>>n>>k; for(int i=1;i<=n;i++) cin>>a[i]; int l,r; l=r=1; for(int i=1;i<=n;i++) { while(l<r&&a[q[r-1]]>=a[i]) { r--; } q[r++]=i; if(i-q[l]>=k) l++; if(i>=k) cout<<a[q[l]]<<" "; } cout<<endl; l=r=1; for(int i=1;i<=n;i++) { while(l<r&&a[q[r-1]]<=a[i]) { r--; } q[r++]=i; if(i-q[l]>=k) l++; if(i>=k) cout<<a[q[l]]<<" "; } return 0; }

    信息

    ID
    65
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    255
    已通过
    121
    上传者