社区讨论
就改了一个地方,一个AC一个全RE,怎么会这样
P5250【深基17.例5】木材仓库参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo2wa01c
- 此快照首次捕获于
- 2023/10/23 20:49 2 年前
- 此快照最后确认于
- 2023/10/23 20:49 2 年前
CPP
#include<iostream>
#include<algorithm>
//#include<cstring>
//#include<math.h>
//#include<queue>
//#include<stdlib.h>
//#include<vector>
#include<set>
//#include<stack>
using namespace std;
int n;
set<int>ku;
int main(){
int opt,temp;
cin>>n;
while(n--){
cin>>opt>>temp;
if(opt==1){
if(ku.find(temp)!=ku.end()) cout<<"Already Exist"<<endl;
else ku.insert(temp);
}
else if(ku.empty()){
cout<<"Empty"<<endl;
}
else{
set<int>::iterator i=ku.lower_bound(temp),j=i;
if(j!=ku.begin())j--;
/////////////////////修改的地方
if(i!=ku.end()&&(*i)-temp>=temp-(*j)) i=j;
cout<<*i<<endl;
ku.erase(i);
}
}
return 0;
}
下面时AC的
CPPif(i!=ku.end()&&(*i)-temp<temp-(*j)) j=i;
cout<<*j<<endl;
ku.erase(j);
回复
共 1 条回复,欢迎继续交流。
正在加载回复...