4 条题解

  • 1
    @ 2025-1-5 14:20:59
    #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;
    }
    

    信息

    ID
    70
    时间
    2000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    272
    已通过
    84
    上传者