3 条题解

  • 0
    @ 2024-4-10 17:58:32

    #include <iostream> #include <map> #include <set> using namespace std;

    int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int n, m, t;
    cin >> n >> m;
    set<int> s;
    
    for (int i = 0; i < n; i++)
    {
        cin >> t;
        s.insert(t);
    }
    int a, b;
    while (m--)
    {
        cin >> a >> b;
        if (a == 1)
        {
            if (s.find(b) == s.end())
            {
                cout << "NO" << endl;
            }
            else
            {
                cout << b <<endl;
            }
        }
        if (a == 2)
        {
            set<int> ::iterator it;
            it = s.lower_bound(b);
            if (it != s.begin())
            {
                cout << *(--it) << endl;
            }
            else
            {
                cout << "NO\n";
            }
        }
        if (a == 3)
        {
            set<int> ::iterator it;
            it = s.upper_bound(b);
            if (it != s.end())
            {
                cout << *it << endl;
            }
            else
            {
                cout << "NO\n";
            }
        }
    }
    return 0;
    

    }

    信息

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