set样例过了,全WA...不知道哪错了
查看原帖
set样例过了,全WA...不知道哪错了
1163793
spindrift楼主2023/12/19 16:57
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        set<int> ku;
        int n;
        cin >> n;
        while (n--)
        {
            int flag, length;
            cin >> flag >> length;
            if (flag == 1)
            {
                if (ku.find(length) == ku.end())
                    ku.insert(length);
                else
                    cout << "Already Exist" << endl;
            }
            else if (flag == 2)
            {
                if (ku.empty())
                {
                    cout << "Empty" << endl;
                    continue;
                }
                set<int>::iterator i, j;
                i = ku.lower_bound(length);
                j = i;
                if (*i != length)
                { 
                    if (i != ku.begin()) 
                        i--;
                    else if (j!=ku.end()&&(length - *i) > (*j - length))
                        i = j;
                }
                cout << *i << endl;
                ku.erase(i);
            }
        }
        return 0;
    }
2023/12/19 16:57
加载中...