1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #include <bits/stdc++.h> using namespace std; set<int> st;
int main() { int n, opt, val; cin >> n; while (n--) { cin >> opt >> val; if (opt == 1) { if (st.count(val)) cout << "Already Exist" << endl; else st.emplace(val); } else if (st.empty()) cout << "Empty" << endl; else { set<int>::iterator i = st.lower_bound(val), j = i; if (i == st.begin()) 1 == 1; else if (i == st.end()) --i; else i = val - *(--j) <= (*i) - val ? j : i; cout << (*i) << endl, st.erase(i); } } return 0; }
|