lowerbound 用法实战 (牛客 猪猪养成计划1)

include<bits/stdc++.h>

using namespace std;
const int N=100100;
typedef pair<int,int> pii;

int n,r,l,q,id,a[N];
set s;

int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>q;
for(int i=1;i<=n;i++) s.insert(i);

while(q--){
    int op;
    cin>>op;
    if(op==1){
        cin>>l>>r;
        auto it=s.lower_bound(l);

        while(it!=s.end() && *it<=r){
            id++;
            a[*it]=id;
           it = s.erase(it);
        }
    }
    else{
        int x;
        cin>>x;
        cout<<a[x]<<endl;
    }
}
 
return 0;

}

posted on 2025-02-26 15:03  下头小美  阅读(9)  评论(0)    收藏  举报