#include<bits/stdc++.h>
using namespace std;
set <int> s;
int main() {
int n; cin >> n;
while (n--) {
int a; cin >> a;
if (a == 1) {
int tmp; cin >> tmp;
int sb = s.size(); // size before
s.insert(tmp);
int sn = s.size(); // size now
if (sn == sb) {
cout << "Already Exist" << endl;
}
}
else {
if (s.empty()) { //如果为空
cout << "Empty\n";
continue;
}
int tmp; cin >> tmp;
auto it = s.find(tmp);
if (*it == tmp) { //找到了就输出并结束本轮
s.erase(*it);
cout << tmp << endl;
continue;
}
auto minn = s.begin();
for (auto it = s.begin(); it != s.end(); it++) {
// if (*it > tmp+*minn) {
// break;
// }
if (abs(*it-tmp) < abs(*minn-tmp)) { //判断差值,哪个小用哪个
minn = it;
continue;
}
if (abs(*it-tmp) == abs(*minn-tmp)) { //如果一样
if (*minn > *it) { //取最小的那个
minn = it;
}
}
}
cout << *minn << endl;
s.erase(*minn);
}
}
return 0;
}
样例能过,但5个测试点全wa