0pts why???
查看原帖
0pts why???
1012241
Dcchen楼主2024/4/6 21:30
#include<iostream>
#include<map>
#include<set>
using namespace std;
map<int,int> mp;
int n,pos,len;
set<int> s;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>pos>>len;
		if(pos==1){
			mp[len]++;
			s.insert(len);
		}
		else{
			if(s.empty()){
				cout<<"Empty\n";
				continue;
			}
			auto pos_1=s.lower_bound(len);
			auto pos_2=pos_1--;
			int a=(*pos_1)-len;
			int b=len-(*pos_2);
			if(a<b){
				cout<<*pos_2;
				mp[*pos_2]--;
				if(mp[*pos_2]==0) s.erase(*pos_2);
			}
			else{
				cout<<*pos_1;
				mp[*pos_1]--;
				if(mp[*pos_1]==0) s.erase(*pos_1);
			}
			cout<<"\n";
		}
		
	}
}
2024/4/6 21:30
加载中...