返回题解分享
讨论 / 题解分享/ 帖子详情

set的查询 - 题解

#include<iostream>
#include<set>
using namespace std;
int main()
{
    int n,m;
    cin>>n>>m;
    set<int> s;
    int d;
    for(int i=1;i<=n;i++)
    {
       cin>>d;
       s.insert(d); 
    }
    for(int i=1;i<=m;i++)
    {
        int c,x;
        cin>>c>>x;
        if(c==1)
        {
            auto it=s.find(x);
            if(it!=s.end())
            {
                cout<<*it<<'\n'<<endl;
            }
            else
            cout<<"NO"<<endl;
        }
        if(c==2)
        {
            auto it=s.lower_bound(x);
            if(it!=s.begin()){
                --it;
            cout<<*it<<'\n'<<endl;
            }
            else
            cout<<"NO"<<endl;
        }
        if(c==3)
        {
            auto it=s.upper_bound(x);
            if(it!=s.end())
            {
                cout<<*it<<'\n'<<endl;
            }
            else
            cout<<"NO"<<endl;
        }
    }
    return 0;
}
0 回复 0 转发 1 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!