洛谷P5250【深基17.例5】木材仓库

洛⾕P5250【深基17.例5】⽊材仓库
题⽬描述
博艾市有⼀个⽊材仓库,⾥⾯可以存储各种长度的⽊材,但是保证没有两个⽊材的长度是相同的。作为仓库负责⼈,你有时候会进货,有时候会出货,因此需要维护这个库存。有不超过 100000 条的操作:
进货,格式1 Length:在仓库中放⼊⼀根长度为 Length(不超过 10^9109) 的⽊材。如果已经有相同长度的⽊材那么输出Already Exist。
全自动探针台出货,格式2 Length:从仓库中取出长度为 Length 的⽊材。如果没有刚好长度的⽊材,取出仓库中存在的和要求长度最接近的⽊材。
如果有多根⽊材符合要求,取出⽐较短的⼀根。输出取出的⽊材长度。如果仓库是空的,输出Empty。
输⼊格式
输出格式
输⼊输出样例
输⼊
7
1 1
1 5
1 3
2 3
2 3
2 3
2 3
输出
3
1
5
Empty
分析
wsrdset练习题
代码
#include<bits/stdc++.h>
using namespace std;
int n,m,q;
set<int> st;
int main()
{
cin>>q;
while(q--)
{
cin>>n>>m;
if(n==1)
{
int f=st.size();
电压跟随器电路st.insert(m);
if(st.size()==f)
{
cout<<"Already Exist"<<endl;
}
continue;
}
else if(n==2)
{
pty())
{
cout<<"Empty"<<endl;
continue;
}
set<int>::iterator it,it2,it3;
it=it2=it3=st.lower_bound(m);
高浓除砂器
if(*it==m||it==st.begin())//存在相等
wo318{
cout<<*it<<endl;
continue;
}
else if(it==st.end())
{
cout<<*(--it2)<<endl;
continue;
}
else
{
if(abs(*it-m)<abs(m-(*--it3)))//⼤根离⽬标更近                {
cout<<*it<<endl;
continue;
}
else
{
cout<<(*it3)<<endl;
印染在线
}
}
}
}
return0;
}

本文发布于:2024-09-22 01:21:35,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/276213.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:长度   取出   仓库   出货
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议