求助,C++set样例过了,全RE
查看原帖
求助,C++set样例过了,全RE
304524
崔化博楼主2021/7/4 08:55
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <set>
#include <stack>
#include <climits>
#include <bitset>
#include <vector>
//#include <map>
#include <queue>
#include <cmath>
#include <cstring>
#include <string>
using namespace std;

int main() {
	set<int> s;
	int t;
	cin>>t;
	while(t--){
		int k,l;
		cin>>k>>l;
		if(k==1){
			if(s.find(l)!=s.end()){
				cout<<"Already Exist"<<endl;
			}
			else{
				s.insert(l);
			}
		}
		else{
			if(!s.size()){
				cout<<"Empty"<<endl;	
			}
			else{
				if(s.find(l)!=s.end()){
					cout<<l<<endl;
					s.erase(s.find(l));
				}
				else{
					set<int>::iterator p;
					int minn=0;
					for(set<int>::iterator i=s.begin();i!=s.end();++i){
						if((*i)<l)
							minn=(*i),p=i;
						else{
							if((*i)-l<l-minn)
								cout<<(*i)<<endl,s.erase(i);
							else
								cout<<minn<<endl,s.erase(p);
							break;
						}
					}
				}
			}
		}
	}
	return 0;
}

RT

2021/7/4 08:55
加载中...