社区讨论

玄关 0分求大佬帮调

P5250【深基17.例5】木材仓库参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lyvbq3dd
此快照首次捕获于
2024/07/21 16:56
2 年前
此快照最后确认于
2024/07/21 18:58
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
	int T;
	cin>>T;
	long long num=0,minn=1000000009,maxn=-1000000009;
	map<int,int> mp;
	int a[1000005]={0};
	while(T--){
		int op,length;
		cin>>op>>length;
		if(op==1){
			if(!mp.count(length)){
				mp[length]=1;
				a[length]++;
				if(length>maxn) maxn=length;
				if(length<minn) minn=length;
			}
			else{
				cout<<"Already Exist"<<endl;
			}
		}
		else{
			if(mp.size()==0){
				cout<<"Empty"<<endl;
			}
			else{
				int ans=0,chaju=0,minchaju=999999999;
				if(mp.count(length)){
					cout<<length<<endl;
					a[length]=0;
					mp.erase(length);
				}
				else if(!mp.count(length)){
					for(int i=minn;i<=maxn;i++){
                        if(a[i]!=0){
							chaju=abs(a[i]-length);
							if(chaju<minchaju){
								minchaju=chaju;
								ans=i;
							}
						}
					}
                    a[ans]=0;
                    mp.erase(ans);
					cout<<ans<<endl;
				}
			}
			
		}
	}
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...