社区讨论
0分,求调,成功必关
P5250【深基17.例5】木材仓库参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mi9s9j41
- 此快照首次捕获于
- 2025/11/22 12:22 3 个月前
- 此快照最后确认于
- 2025/11/22 13:37 3 个月前
CPP
#include<iostream>
#include<map>
using namespace std;
map<long long,long long> m;
long long n;
int main(){
cin>>n;
long long a,b;
for(int i=1;i<=n;i++){
cin>>a>>b;
if(a==1){
if(m.find(b)==m.end()){
m[b]++;
}
else{
cout<<"Already Exist"<<endl;
}
}
else{
if(m.empty()){
cout<<"Empty"<<endl;
}
else if(m.find(b)!=m.end()){
cout<<b<<endl;
m.erase(b);
}
else{
m[b]++;
map<long long,long long>::iterator it=m.find(b);
map<long long,long long>::iterator it1;
map<long long,long long>::iterator it2;
if(it==m.begin()){
it++;
cout<<it->first<<endl;
m.erase(it->first);
}
else if(it==--m.end()){
it--;
cout<<it->first<<endl;
m.erase(it->first);
}
else{
it1=++it;
--it;
--it;
it2=it;
if((it1->first-it->first)>(it->first-it2->first)){
cout<<it2->first<<endl;
m.erase(it2->first);
}
if((it1->first-it->first)<=(it->first-it2->first)){
cout<<it1->first<<endl;
m.erase(it1->first);
}
}
m.erase(b);
}
}
}
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...