pdds平衡树求助
查看原帖
pdds平衡树求助
727556
wangziwenhk楼主2024/1/4 16:37
#include <bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
__gnu_pbds ::tree< int, __gnu_pbds::null_type, greater<> ,
        __gnu_pbds::rb_tree_tag,
        __gnu_pbds::tree_order_statistics_node_update>
        trr;
map<int,bool>vis;
int main() {
    int m,q;
    cin >> m >> q;
    for(int i=1;i<=m;i++){
        int x;
        cin>>x;
        if(!vis[x]){
            trr.insert(x);
            vis[x]=true;
        }

    }
    while(q--){
        int c,n;
        cin>>c>>n;
        if(c==1){
            auto it = trr.find_by_order(n-1);
            cout<<*it<<endl;
        }
        else if(c==2){
            if(!vis[n]){
                trr.insert(n);
                vis[n]=true;
            }
        }
    }
    return 0;
}

非常奇怪的问题

2024/1/4 16:37
加载中...