0分,求调,样例过了
查看原帖
0分,求调,样例过了
1465033
chensihao12楼主2025/7/26 12:10
#include<iostream>
#include<set>
#include<cmath>
using namespace std;
set<int> s;
int main()
{
	long long m,x,y;
	cin>>m;
	set<int>::iterator it;
	for(int i=1;i<=m;i++){
		cin>>x>>y;
		if(x==1){
			it=s.find(y);
			if(it!=s.end()) cout<<"Already Exist"<<endl;
			else s.insert(y); 
		}
		else if(x==2){
			set<int>::iterator itt;
			if(s.empty()==true) cout<<"Empty"<<endl;
			else{
				itt=s.lower_bound(y);
				if(itt!=s.end()){
					if(itt==s.begin()){
						cout<<*itt<<endl;
						s.erase(itt); 
					}
					else{
						set<int>::iterator ittt;
						ittt=itt;
						itt--;
						if(abs(*itt-y)<=abs(*ittt-y)){
							cout<<*itt<<endl;
							s.erase(itt); 
						}else{
							cout<<*ittt<<endl;
							s.erase(ittt); 
						}
					}
				}
			}
		}
	}
	return 0;
}

2025/7/26 12:10
加载中...