求#9TLE原因

P1886 滑动窗口 /【模板】单调队列

IakIOI_________Never @ 2024-10-19 15:49:15

#include <bits/stdc++.h>
using namespace std;
long long n, k, a[1000005];
multiset<long long> st, gh;
int main(){
    scanf("%lld %lld", &n, &k);
    for(int i = 0;i<=n - 1;i++){
        scanf("%lld", &a[i]);
        if(i<=k - 1){
            st.insert(a[i]);
            gh.insert(a[i]);
        }
    }
    for(int i = 0;i<=n - k;i++){
        multiset<long long>::iterator it = st.end();
        it--;
        printf("%lld ", *st.begin());
        st.erase(st.find(a[i]));
        if(i + k<=n - 1){
            st.insert(a[i + k]);
        }
    }
    printf("\n");
    for(int i = 0;i<=n - k;i++){
        multiset<long long>::iterator it = gh.end();
        it--;
        printf("%lld ", *it);
        gh.erase(gh.find(a[i]));
        if(i + k<=n - 1){
            gh.insert(a[i + k]);
        }
    }
    return 0;
}

|